提出 #64985060


ソースコード 拡げる

    #include <bits/stdc++.h>
 //  #include <atcoder/all>
  //  using namespace atcoder;
     
     
    // tabaicho see https://boostjp.github.io/tips/multiprec-int.html   
    // #include <boost/multiprecision/cpp_int.hpp>
     
    // using namespace boost::multiprecision;
     
    // cpp_int
    // int128_t
    // int256_t
    // int512_t
    // int1024_t
     
    // uint128_t
    // uint256_t
    // uint512_t
    // uint1024_t
     

     
  #define int long long
     #define inf  1000000007
    // #define inf  998244353
     
     #define pa pair<int,int>
     #define ppa pair<pa,pa>
     #define ll long long
     #define PI 3.14159265358979323846
     #define  mp make_pair
     #define  pb push_back
     #define EPS (1e-8)
     
          using namespace std;
                                              
     int dx[8]={1,0,-1,0,1,1,-1,-1};
     int dy[8]={0,-1,0,1,-1,1,1,-1};
                                                
    class pa3{
    	public:
    	int x;
    	int y,z;
    	pa3(int x=0,int y=0,int z=0):x(x),y(y),z(z) {}
    	bool operator < (const pa3 &p) const{
    		if(x!=p.x) return x<p.x;
    		if(y!=p.y) return y<p.y;
    		 return z<p.z;
    		//return x != p.x ? x<p.x: y<p.y;
    	}
    	bool operator > (const pa3 &p) const{
    		if(x!=p.x) return x>p.x;
    		if(y!=p.y) return y>p.y;
    		 return z>p.z;
    		//return x != p.x ? x<p.x: y<p.y;
    	}
    	bool operator == (const pa3 &p) const{
    		return x==p.x && y==p.y && z==p.z;
    	}
    		bool operator != (const pa3 &p) const{
    			return !( x==p.x && y==p.y && z==p.z);
    	}
    	pa3 operator + (pa3 p) {return pa3(x+p.x,y+p.y,z+p.z);}
    	pa3 operator - (pa3 p) {return pa3(x-p.x,y-p.y,z-p.z);}
     
    };
     
    class pa4{
    	public:
    	int x;
    	int y,z,w;
    	pa4(int x=0,int y=0,int z=0,int w=0):x(x),y(y),z(z),w(w) {}
    	bool operator < (const pa4 &p) const{
    		if(x!=p.x) return x<p.x;
    		if(y!=p.y) return y<p.y;
    		if(z!=p.z)return z<p.z;
    		return w<p.w;
    		//return x != p.x ? x<p.x: y<p.y;
    	}
    	bool operator > (const pa4 &p) const{
    		if(x!=p.x) return x>p.x;
    		if(y!=p.y) return y>p.y;
    		if(z!=p.z)return z>p.z;
    		return w>p.w;
    		//return x != p.x ? x<p.x: y<p.y;
    	}
    	bool operator == (const pa4 &p) const{
    		return x==p.x && y==p.y && z==p.z &&w==p.w;
    	}
    		
     
    };
    class pa2{
    	public:
    	int x,y;
    	pa2(int x=0,int y=0):x(x),y(y) {}
    	pa2 operator + (pa2 p) {return pa2(x+p.x,y+p.y);}
    	pa2 operator - (pa2 p) {return pa2(x-p.x,y-p.y);}
    	bool operator < (const pa2 &p) const{
    		return x != p.x ? x<p.x: y<p.y;
    	}
    	bool operator > (const pa2 &p) const{
    		return x != p.x ? x>p.x: y>p.y;
    	}
    	bool operator == (const pa2 &p) const{
    		return abs(x-p.x)==0 && abs(y-p.y)==0;
    	}
    	bool operator != (const pa2 &p) const{
    		return !(abs(x-p.x)==0 && abs(y-p.y)==0);
    	}
    		
     
    };
     
     
     
    string itos( int i ) {
    	ostringstream s ;
    	s << i ;
    	return s.str() ;
    }
     
    int Gcd(int v,int b){
    	if(v==0) return b;
    	if(b==0) return v;
    	if(v>b) return Gcd(b,v);
    	if(v==b) return b;
    	if(b%v==0) return v;
    	return Gcd(v,b%v);
    }
     
     
     
    int extgcd(int a, int b, int &x, int &y) {
        if (b == 0) {
            x = 1;
            y = 0;
            return a;
        }
        int d = extgcd(b, a%b, y, x);
        y -= a/b * x;
        return d;
    }
    pa operator+(const pa & l,const pa & r) {   
        return {l.first+r.first,l.second+r.second};                                    
    }    
    pa operator-(const pa & l,const pa & r) {   
        return {l.first-r.first,l.second-r.second};                                    
    }  
     
     
    pair<double,double> operator-(const pair<double,double> & l,const pair<double,double> & r) {   
        return {l.first-r.first,l.second-r.second};                                    
    }  
     
    ostream& operator<<(ostream& os, const vector<int>& VEC){
    	for(auto v:VEC)os<<v<<" ";
        return os;
    }
     
     ostream& operator<<(ostream& os, const pair<double,double>& PAI){
    	os<<PAI.first<<" : "<<PAI.second;
        return os;
    }
     
     
    ostream& operator<<(ostream& os, const pa& PAI){
    	os<<PAI.first<<" : "<<PAI.second;
        return os;
    }

    ostream& operator<<(ostream& os, const pa2& PAI){
    	os<<PAI.x<<", "<<PAI.y;
        return os;
    }
       
    ostream& operator<<(ostream& os, const pa3& PAI){
    	os<<PAI.x<<" : "<<PAI.y<<" : "<<PAI.z;
        return os;
    }
     
    ostream& operator<<(ostream& os, const pa4& PAI){
    	os<<PAI.x<<" : "<<PAI.y<<" : "<<PAI.z<<" : "<<PAI.w;
        return os;
    }
     
    ostream& operator<<(ostream& os, const vector<pa2>& VEC){
    	for(auto v:VEC)os<<v<<" ";
        return os;
    }
     
     
    ostream& operator<<(ostream& os, const vector<pa3>& VEC){
    	for(auto v:VEC){
    		os<<v<<" ";
    	os<<endl;
    	}
        return os;
    }
     
    int beki(int wa,ll rr,int warukazu){
    	if(rr==0) return 1%warukazu;
    	if(rr==1) return wa%warukazu;
    	wa%=warukazu;
    	if(rr%2==1) return ((ll)beki(wa,rr-1,warukazu)*(ll)wa)%warukazu;
    	ll zx=beki(wa,rr/2,warukazu);
    	return (zx*zx)%warukazu;
    }
     
     
                  
    int pr[3000302];
    int inv[3000302];
     
     
     
     
   const int mod=998244353;
//   const int mod=1000000007;
	const int inff=(1ll<<62)-1+(1ll<<62);
    int comb(int nn,int rr){
    	//if(nn==-1&&rr==-1)return 1;
    	if(rr<0 || rr>nn || nn<0) return 0;
    	int r=pr[nn]*inv[rr];
    	r%=mod;
    	r*=inv[nn-rr];
    	r%=mod;
    	return r;
    }
     
    void gya(int ert){
    	pr[0]=1;
    	for(int i=1;i<=ert;i++){
    		pr[i]=((ll)pr[i-1]*i)%mod;
    	}
    		inv[ert]=beki(pr[ert],mod-2,mod);
    	for(int i=ert-1;i>=0;i--){
    		inv[i]=(ll)inv[i+1]*(i+1)%mod;
    	}
    }
     
     
    int beki(int a,int b){
    	int ANS=1;
    	int be=a%mod;
    	while(b){
    		if(b&1){
    			ANS*=be;
    			ANS%=mod;
    		}
    		be*=be;
    		be%=mod;
    		b/=2;
    	}
    	return ANS;
    }
     
vector<int>zaatu(vector<int>vec){
	sort(vec.begin(),vec.end());
	vec.erase(unique(vec.begin(),vec.end()),vec.end());
	return vec;
}

     
struct unionfind{
	private:
	public:
	
	vector<int> par,ranks,kosuu;
	
	void shoki(int N){
		par.resize(N+1,0);
		ranks.resize(N+1,0);
		kosuu.resize(N+1,1);
		for(int i=0;i<=N;i++){
			par[i]=i;
		}
	}
	
	int root(int x){
		return par[x]==x ? x : par[x]=root(par[x]);
	}
	
	bool same(int x,int y){
		return root(x)==root(y);
	}
	bool is_root(int x){
		return x==root(x);
	}
	void unite(int x,int y){
		x=root(x);
		y=root(y);
		int xx=kosuu[x],yy=kosuu[y];
		if(x==y) return;
		if(ranks[x]<ranks[y]){
			par[x]=y;
			kosuu[y]=yy+xx;
		}
		else {
			par[y]=x;
			if(ranks[x]==ranks[y]) ranks[x]=ranks[x]+1;
			kosuu[x]=yy+xx;
		}
		return;
	}
};



                    
                  //   cin.tie(0);
        		//	ios::sync_with_stdio(false);
        			//priority_queue<pa3,vector<pa3>,greater<pa3>> pq;            
                     //sort(ve.begin(),ve.end(),greater<int>());
    //    mt19937(clock_per_sec);
      //  mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count()) ;
     // a,b,c : positive int   a*b<=c  <=>  a<=c/b
     // a,b,c : positive int   a*b>c  <=>  a>c/b


struct convex_hull_integer{
	
	vector<pa2>points,upper,lower;
	
	
	int cross(pa2 a,pa2 b){
		return a.x*b.y-a.y*b.x;
	}
	
	
	// include point on edge
	//
	//   upper: ue and hidari
	//   ________
	//  /         /
	// /  _______/
	//   lower: sita and migi
	
	void shoki(vector<pa2>in){
		
		sort(in.begin(),in.end());
		//cout<<in<<endl;
		int ls=0,us=0;
		for(auto v:in){
			while(1){
				if(ls<=1){
					lower.pb(v);
					ls++;
					break;
				}
				else{
					if(cross(lower[ls-1]-lower[ls-2],v-lower[ls-2])<0){
						lower.pop_back();
						ls--;
						continue;
					}
					else{
						lower.pb(v);
						ls++;
						break;
					}
				}
			}
		}
		
		reverse(in.begin(),in.end());
		for(auto v:in){
			while(1){
				if(us<=1){
					upper.pb(v);
					us++;
					break;
				}
				else{
					if(cross(upper[us-1]-upper[us-2],v-upper[us-2])<0){
						upper.pop_back();
						us--;
						continue;
					}
					else{
						upper.pb(v);
						us++;
						break;
					}
				}
			}
		}
		
		reverse(upper.begin(),upper.end());
	}
	
	int get(pa2 v,int a,int b){
		return v.x*a+v.y*b;
	}
	
	int max_val(int a,int b){
		// return max(a*x+b*y) where (x,y) is in this class
		if(a==0&&b==0)return 0;
		if(b==0){
			if(a>0)return lower.back().x*a;
			else return lower[0].x*a;
		}
		else if(b>0){
			int s=upper.size();
			if(s==1){
				return a*upper[0].x+b*upper[0].y;
			}
			if(get(upper[0],a,b)>=get(upper[1],a,b))return get(upper[0],a,b);
			if(get(upper[s-2],a,b)<get(upper[s-1],a,b))return get(upper[s-1],a,b);
			
			int l=1,r=s-2;
			while(1){
				int m=(l+r)/2;
				int p1=get(upper[m-1],a,b);
				int p2=get(upper[m],a,b);
				if(p1>=p2){
					r=m-1;
					continue;
				}
				int p3=get(upper[m+1],a,b);
				if(p2<p3){
					l=m+1;
					continue;
				}
				return p2;
			}
		}
		else{
			int s=lower.size();
			if(s==1){
				return a*lower[0].x+b*lower[0].y;
			}
			if(get(lower[0],a,b)>=get(lower[1],a,b))return get(lower[0],a,b);
			if(get(lower[s-2],a,b)<get(lower[s-1],a,b))return get(lower[s-1],a,b);
			
			int l=1,r=s-2;
			while(1){
				int m=(l+r)/2;
				int p1=get(lower[m-1],a,b);
				int p2=get(lower[m],a,b);
				if(p1>=p2){
					r=m-1;
					continue;
				}
				int p3=get(lower[m+1],a,b);
				if(p2<p3){
					l=m+1;
					continue;
				}
				return p2;
			}			
		}
	}
	
};


const int R=1000000;
using T=array<int,8>;


double dis(int a,int b,int c,int d){
	double p=c-a+0.0;
	double q=d-b+0.0;
	return sqrt(p*p+q*q);
}

double get_score(vector<T>ans){
	double score=0;
	int n=ans.size();
	for(int i=1;i<n;i++){
		score+=max(dis(ans[i][0],ans[i][1],ans[i-1][0],ans[i-1][1])+dis(ans[i][2],ans[i][3],ans[i-1][2],ans[i-1][3]),
			dis(ans[i][4],ans[i][5],ans[i-1][4],ans[i-1][5])+dis(ans[i][6],ans[i][7],ans[i-1][6],ans[i-1][7]));
	}
	return score;
}
int C,D;
bool hi4(pa4 a,pa4 b){
	return (a.x-C)*(D-b.y)<(b.x-C)*(D-a.y);
}
bool hi(pa3 a,pa3 b){
	return (a.x-C)*(D-b.y)<(b.x-C)*(D-a.y);
}
vector<T> solution_round(vector<pa3> V,int dir,int ty,int sw){
	//dir=0;
	if(sw){
		for(auto &v:V)swap(v.x,v.y);
	}
	
	for(int i=0;i<dir;i++){
		for(auto &v:V){
			int u1=v.y;
			int u2=R-v.x;
			v.x=u1,v.y=u2;
		}
	}
	
	int ymin=inf,xmax=-inf,xmin=inf,ymax=-inf;
	for(auto v:V){
		ymin=min(ymin,v.y);
		xmax=max(xmax,v.x);
		xmin=min(xmin,v.x);
		ymax=max(ymax,v.y);
	}
	
	
	if(ty==0){
		C=0,D=R;
	}
	else if(ty==1){
		C=xmin-1,D=ymax+1;
	}
	else{
		C=rand()%xmin;
		D=R-rand()%(R-ymax);
	}
	
	vector<pa2>in;
	for(auto v:V)in.pb(pa2(v.x,v.y));
	in.pb(pa2(0,ymin));
	in.pb(pa2(xmax,R));
	 convex_hull_integer ss;
	
	ss.shoki(in);
	//cout<<ss.lower<<endl;
	
	vector<pa2>kouho;
	pa2 lasp=pa2(C,ymin);
	kouho.pb(pa2(C,ymin));
	for(auto v:ss.lower){
		if(v==pa2(C,ymin))continue;
		int f1=v.x-lasp.x;
		int f2=v.y-lasp.y;
		//int f=Gcd(f1,f2);
		
		int pos=0;
		for(int j=1;j<=f1;j++){
			while(1){
				if(f2*j/f1>=pos){
					kouho.pb(pa2(lasp.x+j,lasp.y+pos));
					pos++;
				}
				else{
					pos--;
					break;
				}
			}
		}
		lasp=v;
		
	}
	while(kouho.back().y!=D){
		kouho.pb(kouho.back());
		kouho.back().y++;
	}
	/*
	for(int i=0;i<(int)kouho.size()-2;i++){
		if(kouho[i].x*(R-kouho[i+1].y)>=kouho[i+1].x*(R-kouho[i].y)){
			cout<<kouho[i]<<" "<<kouho[i+1]<<endl;
		}
		assert(kouho[i].x*(R-kouho[i+1].y)<kouho[i+1].x*(R-kouho[i].y));
	}
	*/
	
	set<int>se[2];
	for(auto v:V){
		int si=0,ue=(int)kouho.size();
		while(ue-si>1){
			int me=(ue+si)/2;
			if((kouho[me].x-C)*(D-v.y)<(v.x-C)*(D-kouho[me].y)){
				si=me;
			}
			else ue=me;
		}
		se[v.z].insert(ue);
		//cout<<v<<" "<<ue<<endl;
	}
	
	for(auto v:se[0])if(se[1].count(v)){

		return vector<T>();
	}
	
	vector<pa3>tmp;
	for(auto v:se[0])tmp.pb(pa3(kouho[v].x,kouho[v].y,0));
	for(auto v:se[1])tmp.pb(pa3(kouho[v].x,kouho[v].y,1));
	map<pa2,int> tmpma;
	for(auto v:tmp)tmpma[pa2(v.x,v.y)]=v.z;
	sort(tmp.begin(),tmp.end(),hi);

	sort(V.begin(),V.end());
	vector<pa4>kukan;
	for(auto v:tmp){
		if(kukan.size()==0 || kukan.back().z!=v.z)kukan.pb(pa4(v.x,v.y,v.z,0));
		else kukan.back().x=v.x,kukan.back().y=v.y;
	}
	for(auto v:ss.lower)if(v!=pa2(C,ymin)&&v!=pa2(xmax,D)){
		int it=-1;
		for(int i=0;i<kukan.size();i++)if(kukan[i].x==v.x&&kukan[i].y==v.y){
			it=i;
			break;
		}
		if(it==-1)kukan.pb(pa4(v.x,v.y,tmpma[pa2(v.x,v.y)],1));
		else kukan[it].w=1;
	}
	sort(kukan.begin(),kukan.end(),hi4);
	//for(auto v:kukan)cout<<v.x<<" "<<v.y<<" "<<v.z<<" "<<v.w<<endl;
	vector<T>ans;
	pa2 a,b;
	int id=min(*se[0].begin(),*se[1].begin())-1;
	a=pa2(kouho[id].x,kouho[id].y);
	b=a;
	
	int it=0;
	ans.pb({a.x,a.y,0,R,b.x,b.y,0,R});
	
	
	int n=kukan.size();
	while(it<n){
		if(kukan[it].z==0){
			if(it<n-1&&kukan[it].w==0&&kukan[it+1].z==1){
				a.x=kukan[it].x;
				a.y=kukan[it].y;
				b.x=kukan[it+1].x;
				b.y=kukan[it+1].y;
				ans.pb({a.x,a.y,0,R,b.x,b.y,0,R});
				it+=2;
			}
			else if(it<n-1&&kukan[it].w==0&&kukan[it+1].z==0){
				a.x=kukan[it+1].x;
				a.y=kukan[it+1].y;
				b.x=kukan[it+1].x;
				b.y=kukan[it+1].y;
				ans.pb({a.x,a.y,0,R,b.x,b.y,0,R});
				it+=2;
			}
			else if(it==n-1){
				a.x=kukan[it].x;
				a.y=kukan[it].y;
				ans.pb({a.x,a.y,0,R,b.x,b.y,0,R});
				it++;
			}
			else{
				a.x=kukan[it].x;
				a.y=kukan[it].y;
				b.x=kukan[it].x;
				b.y=kukan[it].y;
				ans.pb({a.x,a.y,0,R,b.x,b.y,0,R});
				it++;
			}
			
		}
		else{
			if(it<n-1&&kukan[it].w==0&&kukan[it+1].z==1){
				b.x=kukan[it+1].x;
				b.y=kukan[it+1].y;
				ans.pb({a.x,a.y,0,R,b.x,b.y,0,R});
				it+=2;
			}
			else{
				b.x=kukan[it].x;
				b.y=kukan[it].y;
				ans.pb({a.x,a.y,0,R,b.x,b.y,0,R});
				it++;
			}
		}
	}
	//cout<<ans<<endl;
	//for(auto v:ans)cout<<v[0]<<" "<<v[1]<<" "<<v[2]<<" "<<v[3]<<" "<<v[4]<<" "<<v[5]<<" "<<v[6]<<" "<<v[7]<<"\n";
	//exit(1);
	for(int i=0;i<4-dir;i++){
		for(int k=0;k<4;k++){
			for(auto &v:ans){
				int u1=v[2*k+1];
				int u2=R-v[2*k];
				v[2*k]=u1,v[2*k+1]=u2;
			}
		}
	}
	
	if(sw){
		for(int k=0;k<4;k++){
			for(auto &v:ans){
				swap(v[2*k],v[2*k+1]);
			}
		}
	}
	return ans;
}


vector<T> solution(vector<pa3> V,int dir){
	//dir=0;
	for(int i=0;i<dir;i++){
		for(auto &v:V){
			int u1=v.y;
			int u2=R-v.x;
			v.x=u1,v.y=u2;
		}
	}
	
	
	sort(V.begin(),V.end());
	for(int i=1;i<(int)V.size();i++)if(V[i].x==V[i-1].x){
		if(V[i].z!=V[i-1].z)return vector<T>();
	}
	vector<pa3>kukan;
	for(auto v:V){
		if(kukan.size()==0 || kukan.back().z!=v.z)kukan.pb(pa3(v.x,v.x,v.z));
		else kukan.back().y=v.x;
	}
	vector<T>ans;
	
	int a,b;
	a=kukan[0].x-1;
	b=a;
	
	int it=0;
	ans.pb({a,0,a,R,b,0,b,R});
	
	
	int n=kukan.size();
	while(it<n){
		if(kukan[it].z==0){
			if(it==n-1){
				a=kukan[it].y;
				ans.pb({a,0,a,R,b,0,b,R});
				it++;
			}
			else{
				a=kukan[it].y;
				b=kukan[it+1].y;
				ans.pb({a,0,a,R,b,0,b,R});
				it+=2;
			}
		}
		else{
			if(it==n-1){
				b=kukan[it].y;
				ans.pb({a,0,a,R,b,0,b,R});
				it++;
			}
			else{
				b=kukan[it].y;
				//a=kukan[it+1].y;
				ans.pb({a,0,a,R,b,0,b,R});
				it++;
			}
		}
	}
	
	
	for(int i=0;i<4-dir;i++){
		for(int k=0;k<4;k++){
			for(auto &v:ans){
				int u1=v[2*k+1];
				int u2=R-v[2*k];
				v[2*k]=u1,v[2*k+1]=u2;
			}
		}
	}
	
	
	return ans;
}


void solve(){
	int X,Y,Z;
	
	cin>>X>>Y>>Z;
	
	assert(Z==0);
	
	vector<pa3>V;
	for(int i=0;i<X;i++){
		int x,y;
		cin>>x>>y;
		V.pb(pa3(x,y,0));
	}
	for(int i=0;i<Y;i++){
		int x,y;
		cin>>x>>y;
		V.pb(pa3(x,y,1));
	}
	double sol=1e50;
	vector<T> ans;
	for(int d=0;d<4;d++){
		vector<T> x=solution(V,d);
		if(x.size()==0)continue;
		double score = get_score(x);
	//	cout<<score<<endl;
		if(sol>score) ans=x,sol=score;
	}

	for(int d=0;d<4;d++){
			for(int c=0;c<4;c++){for(int sw=0;sw<2;sw++){
		vector<T> x=solution_round(V,d,c,sw);
		if(x.size()==0)continue;
		double score = get_score(x);
	//	cout<<score<<endl;
		if(sol>score) ans=x,sol=score;
			}
	}
	}
	
	for(auto v:ans){
		cout<<v[0]<<" "<<v[1]<<" "<<v[2]<<" "<<v[3]<<" "<<v[4]<<" "<<v[5]<<" "<<v[6]<<" "<<v[7]<<"\n";
	}
	
	//cout<<sol<<endl;
}

    
    signed main(){
    	//mod=inf;
    	//mae();
   	cin.tie(0);
    	ios::sync_with_stdio(false);
    	int n=1;
    //cin>>n;
    	for(int i=0;i<n;i++){
    		solve();
    	}
    	return 0;
    	
    }



提出情報

提出日時
問題 B - Cooperative Trash Sorting (B)
ユーザ smiken
言語 C++ 20 (gcc 12.2)
得点 1083349041
コード長 17299 Byte
結果 AC
実行時間 892 ms
メモリ 52448 KiB

コンパイルエラー

Main.cpp: In function ‘std::vector<std::array<long long int, 8> > solution_round(std::vector<pa3>, long long int, long long int, long long int)’:
Main.cpp:600:30: warning: comparison of integer expressions of different signedness: ‘long long int’ and ‘std::vector<pa4>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
  600 |                 for(int i=0;i<kukan.size();i++)if(kukan[i].x==v.x&&kukan[i].y==v.y){
      |                             ~^~~~~~~~~~~~~

ジャッジ結果

セット名 test_ALL
得点 / 配点 1083349041 / 1500000000
結果
AC × 150
セット名 テストケース
test_ALL test_0000.txt, test_0001.txt, test_0002.txt, test_0003.txt, test_0004.txt, test_0005.txt, test_0006.txt, test_0007.txt, test_0008.txt, test_0009.txt, test_0010.txt, test_0011.txt, test_0012.txt, test_0013.txt, test_0014.txt, test_0015.txt, test_0016.txt, test_0017.txt, test_0018.txt, test_0019.txt, test_0020.txt, test_0021.txt, test_0022.txt, test_0023.txt, test_0024.txt, test_0025.txt, test_0026.txt, test_0027.txt, test_0028.txt, test_0029.txt, test_0030.txt, test_0031.txt, test_0032.txt, test_0033.txt, test_0034.txt, test_0035.txt, test_0036.txt, test_0037.txt, test_0038.txt, test_0039.txt, test_0040.txt, test_0041.txt, test_0042.txt, test_0043.txt, test_0044.txt, test_0045.txt, test_0046.txt, test_0047.txt, test_0048.txt, test_0049.txt, test_0050.txt, test_0051.txt, test_0052.txt, test_0053.txt, test_0054.txt, test_0055.txt, test_0056.txt, test_0057.txt, test_0058.txt, test_0059.txt, test_0060.txt, test_0061.txt, test_0062.txt, test_0063.txt, test_0064.txt, test_0065.txt, test_0066.txt, test_0067.txt, test_0068.txt, test_0069.txt, test_0070.txt, test_0071.txt, test_0072.txt, test_0073.txt, test_0074.txt, test_0075.txt, test_0076.txt, test_0077.txt, test_0078.txt, test_0079.txt, test_0080.txt, test_0081.txt, test_0082.txt, test_0083.txt, test_0084.txt, test_0085.txt, test_0086.txt, test_0087.txt, test_0088.txt, test_0089.txt, test_0090.txt, test_0091.txt, test_0092.txt, test_0093.txt, test_0094.txt, test_0095.txt, test_0096.txt, test_0097.txt, test_0098.txt, test_0099.txt, test_0100.txt, test_0101.txt, test_0102.txt, test_0103.txt, test_0104.txt, test_0105.txt, test_0106.txt, test_0107.txt, test_0108.txt, test_0109.txt, test_0110.txt, test_0111.txt, test_0112.txt, test_0113.txt, test_0114.txt, test_0115.txt, test_0116.txt, test_0117.txt, test_0118.txt, test_0119.txt, test_0120.txt, test_0121.txt, test_0122.txt, test_0123.txt, test_0124.txt, test_0125.txt, test_0126.txt, test_0127.txt, test_0128.txt, test_0129.txt, test_0130.txt, test_0131.txt, test_0132.txt, test_0133.txt, test_0134.txt, test_0135.txt, test_0136.txt, test_0137.txt, test_0138.txt, test_0139.txt, test_0140.txt, test_0141.txt, test_0142.txt, test_0143.txt, test_0144.txt, test_0145.txt, test_0146.txt, test_0147.txt, test_0148.txt, test_0149.txt
ケース名 結果 実行時間 メモリ
test_0000.txt AC 809 ms 52360 KiB
test_0001.txt AC 817 ms 52300 KiB
test_0002.txt AC 817 ms 52208 KiB
test_0003.txt AC 793 ms 52284 KiB
test_0004.txt AC 780 ms 52376 KiB
test_0005.txt AC 799 ms 52332 KiB
test_0006.txt AC 783 ms 52304 KiB
test_0007.txt AC 813 ms 52300 KiB
test_0008.txt AC 796 ms 52304 KiB
test_0009.txt AC 790 ms 52340 KiB
test_0010.txt AC 822 ms 52204 KiB
test_0011.txt AC 806 ms 52252 KiB
test_0012.txt AC 835 ms 52308 KiB
test_0013.txt AC 775 ms 52312 KiB
test_0014.txt AC 816 ms 52208 KiB
test_0015.txt AC 777 ms 52208 KiB
test_0016.txt AC 825 ms 52284 KiB
test_0017.txt AC 799 ms 52384 KiB
test_0018.txt AC 813 ms 52148 KiB
test_0019.txt AC 785 ms 52376 KiB
test_0020.txt AC 782 ms 52376 KiB
test_0021.txt AC 813 ms 52368 KiB
test_0022.txt AC 808 ms 52284 KiB
test_0023.txt AC 816 ms 52444 KiB
test_0024.txt AC 840 ms 52244 KiB
test_0025.txt AC 786 ms 52252 KiB
test_0026.txt AC 825 ms 52308 KiB
test_0027.txt AC 783 ms 52208 KiB
test_0028.txt AC 781 ms 52264 KiB
test_0029.txt AC 803 ms 52296 KiB
test_0030.txt AC 793 ms 52364 KiB
test_0031.txt AC 806 ms 52240 KiB
test_0032.txt AC 770 ms 52288 KiB
test_0033.txt AC 797 ms 52304 KiB
test_0034.txt AC 801 ms 52352 KiB
test_0035.txt AC 774 ms 52396 KiB
test_0036.txt AC 789 ms 52288 KiB
test_0037.txt AC 811 ms 52288 KiB
test_0038.txt AC 780 ms 52256 KiB
test_0039.txt AC 805 ms 52260 KiB
test_0040.txt AC 823 ms 52312 KiB
test_0041.txt AC 818 ms 52260 KiB
test_0042.txt AC 794 ms 52344 KiB
test_0043.txt AC 799 ms 52336 KiB
test_0044.txt AC 850 ms 52260 KiB
test_0045.txt AC 817 ms 52148 KiB
test_0046.txt AC 841 ms 52272 KiB
test_0047.txt AC 784 ms 52248 KiB
test_0048.txt AC 818 ms 52348 KiB
test_0049.txt AC 840 ms 52440 KiB
test_0050.txt AC 837 ms 52264 KiB
test_0051.txt AC 796 ms 52360 KiB
test_0052.txt AC 864 ms 52396 KiB
test_0053.txt AC 861 ms 52304 KiB
test_0054.txt AC 860 ms 52392 KiB
test_0055.txt AC 862 ms 52288 KiB
test_0056.txt AC 814 ms 52256 KiB
test_0057.txt AC 831 ms 52288 KiB
test_0058.txt AC 824 ms 52316 KiB
test_0059.txt AC 836 ms 52448 KiB
test_0060.txt AC 835 ms 52392 KiB
test_0061.txt AC 829 ms 52288 KiB
test_0062.txt AC 817 ms 52336 KiB
test_0063.txt AC 842 ms 52448 KiB
test_0064.txt AC 849 ms 52260 KiB
test_0065.txt AC 806 ms 52156 KiB
test_0066.txt AC 862 ms 52332 KiB
test_0067.txt AC 837 ms 52308 KiB
test_0068.txt AC 854 ms 52260 KiB
test_0069.txt AC 827 ms 52352 KiB
test_0070.txt AC 862 ms 52440 KiB
test_0071.txt AC 838 ms 52204 KiB
test_0072.txt AC 821 ms 52260 KiB
test_0073.txt AC 863 ms 52300 KiB
test_0074.txt AC 828 ms 52360 KiB
test_0075.txt AC 854 ms 52312 KiB
test_0076.txt AC 847 ms 52372 KiB
test_0077.txt AC 829 ms 52144 KiB
test_0078.txt AC 839 ms 52260 KiB
test_0079.txt AC 852 ms 52264 KiB
test_0080.txt AC 881 ms 52312 KiB
test_0081.txt AC 864 ms 52372 KiB
test_0082.txt AC 822 ms 52264 KiB
test_0083.txt AC 841 ms 52444 KiB
test_0084.txt AC 836 ms 52336 KiB
test_0085.txt AC 829 ms 52260 KiB
test_0086.txt AC 844 ms 52340 KiB
test_0087.txt AC 843 ms 52392 KiB
test_0088.txt AC 835 ms 52260 KiB
test_0089.txt AC 811 ms 52288 KiB
test_0090.txt AC 815 ms 52204 KiB
test_0091.txt AC 818 ms 52260 KiB
test_0092.txt AC 833 ms 52372 KiB
test_0093.txt AC 842 ms 52252 KiB
test_0094.txt AC 816 ms 52256 KiB
test_0095.txt AC 825 ms 52316 KiB
test_0096.txt AC 823 ms 52348 KiB
test_0097.txt AC 830 ms 52200 KiB
test_0098.txt AC 821 ms 52300 KiB
test_0099.txt AC 868 ms 52340 KiB
test_0100.txt AC 826 ms 52360 KiB
test_0101.txt AC 823 ms 52440 KiB
test_0102.txt AC 830 ms 52344 KiB
test_0103.txt AC 819 ms 52200 KiB
test_0104.txt AC 818 ms 52444 KiB
test_0105.txt AC 838 ms 52296 KiB
test_0106.txt AC 849 ms 52152 KiB
test_0107.txt AC 829 ms 52260 KiB
test_0108.txt AC 862 ms 52368 KiB
test_0109.txt AC 846 ms 52340 KiB
test_0110.txt AC 836 ms 52252 KiB
test_0111.txt AC 860 ms 52396 KiB
test_0112.txt AC 783 ms 52268 KiB
test_0113.txt AC 837 ms 52336 KiB
test_0114.txt AC 892 ms 52348 KiB
test_0115.txt AC 872 ms 52280 KiB
test_0116.txt AC 820 ms 52288 KiB
test_0117.txt AC 813 ms 52364 KiB
test_0118.txt AC 854 ms 52300 KiB
test_0119.txt AC 871 ms 52348 KiB
test_0120.txt AC 822 ms 52360 KiB
test_0121.txt AC 819 ms 52260 KiB
test_0122.txt AC 825 ms 52336 KiB
test_0123.txt AC 806 ms 52208 KiB
test_0124.txt AC 837 ms 52156 KiB
test_0125.txt AC 846 ms 52364 KiB
test_0126.txt AC 852 ms 52312 KiB
test_0127.txt AC 835 ms 52352 KiB
test_0128.txt AC 812 ms 52252 KiB
test_0129.txt AC 836 ms 52332 KiB
test_0130.txt AC 818 ms 52304 KiB
test_0131.txt AC 812 ms 52296 KiB
test_0132.txt AC 864 ms 52316 KiB
test_0133.txt AC 872 ms 52284 KiB
test_0134.txt AC 814 ms 52148 KiB
test_0135.txt AC 842 ms 52260 KiB
test_0136.txt AC 840 ms 52252 KiB
test_0137.txt AC 834 ms 52352 KiB
test_0138.txt AC 822 ms 52296 KiB
test_0139.txt AC 828 ms 52372 KiB
test_0140.txt AC 817 ms 52304 KiB
test_0141.txt AC 803 ms 52352 KiB
test_0142.txt AC 847 ms 52288 KiB
test_0143.txt AC 834 ms 52260 KiB
test_0144.txt AC 819 ms 52252 KiB
test_0145.txt AC 839 ms 52256 KiB
test_0146.txt AC 815 ms 52152 KiB
test_0147.txt AC 868 ms 52252 KiB
test_0148.txt AC 834 ms 52260 KiB
test_0149.txt AC 834 ms 52208 KiB