Submission #2195734


Source Code Expand

#include <bits/stdc++.h>
using namespace std;

long long N,L,a[100009],b[100009],c[100009],S;

long long solve_naive(vector<long long>A,vector<long long>B,vector<long long>C){
	long long cx=0,cost=0;
	for(int i=0;i<B.size();i++){
		for(int j=cx;j<C.size();j++){
			if(C[cx]>=B[i]){
				C[cx]-=B[i];cost+=llabs(A[i]-A[cx])*B[i];
				B[i]=0;break;
			}
			else{
				B[i]-=C[cx];cost+=llabs(A[i]-A[cx])*C[cx];
				C[cx]=0;cx++;
			}
		}
	}
	//cout<<cost<<endl;
	return cost;
}

long long solve(long long pos){
	long long I=(pos+S*2)/S;I-=2;
	pos-=I*S;I*=L;
	long long G=0;
	vector<tuple<long long,long long,long long>>T;
	for(int i=0;i<N;i++){
		if(G+c[i]>=pos) {
			T.push_back(make_tuple(I+a[i],0LL,G+c[i]-pos));
			long long J=I;
			for(int j=i+1;j<N+i;j++){
				if(j==N) J+=L;
				T.push_back(make_tuple(J+a[j%N],0LL,c[j%N]));
			}
			T.push_back(make_tuple(I+L+a[i],0LL,pos-G));
			for(int j=0;j<N;j++){
				T.push_back(make_tuple(a[j],b[j],0LL));
			}
			break;
		}
		G+=c[i];
	}
	vector<long long>X;
	for(int i=0;i<T.size();i++) X.push_back(get<0>(T[i]));
	sort(X.begin(),X.end());
	X.erase(unique(X.begin(),X.end()),X.end());
	
	vector<long long>A(X.size(),0),B(X.size(),0),C(X.size(),0);
	for(int i=0;i<X.size();i++) A[i]=X[i];
	for(int i=0;i<T.size();i++){
		long long pos1=lower_bound(X.begin(),X.end(),get<0>(T[i]))-X.begin();
		B[pos1]+=get<1>(T[i]);
		C[pos1]+=get<2>(T[i]);
	}
	//cout<<endl;
	//cout<<"pos = "<<pos<<endl;
	//cout<<I<<" "<<S<<endl;
	/*for(int i=0;i<A.size();i++){
		cout<<A[i]<<" "<<B[i]<<" "<<C[i]<<endl;
	}*/
	return solve_naive(A,B,C);
}

int main(){
	cin>>N>>L;
	for(int i=0;i<N;i++){
		cin>>a[i]>>b[i]>>c[i];S+=b[i];
	}
	long long L=-S,R=S+1,M,ans=(1LL<<60);
	for(int i=0;i<60;i++){
		M=(L+R)/2;
		long long I1=solve(M);
		long long I2=solve(M+1);
		ans=min(ans,min(I1,I2));
		if(I1>I2) L=M;
		else R=M;
	}
	cout<<ans<<endl;
	return 0;
}

Submission Info

Submission Time
Task D - タクシー
User E869120
Language C++14 (GCC 5.4.1)
Score 45
Code Size 1953 Byte
Status TLE
Exec Time 2104 ms
Memory 19580 KB

Judge Result

Set Name Sample Subtask1 Subtask2 Subtask3
Score / Max Score 0 / 0 15 / 15 30 / 30 0 / 55
Status
AC × 2
AC × 22
AC × 42
AC × 44
TLE × 18
Set Name Test Cases
Sample subtask0-sample-01.txt, subtask0-sample-02.txt
Subtask1 subtask0-sample-01.txt, subtask0-sample-02.txt, subtask1-01.txt, subtask1-02.txt, subtask1-03.txt, subtask1-04.txt, subtask1-05.txt, subtask1-06.txt, subtask1-07.txt, subtask1-08.txt, subtask1-09.txt, subtask1-10.txt, subtask1-11.txt, subtask1-12.txt, subtask1-13.txt, subtask1-14.txt, subtask1-15.txt, subtask1-16.txt, subtask1-17.txt, subtask1-18.txt, subtask1-19.txt, subtask1-20.txt
Subtask2 subtask0-sample-01.txt, subtask0-sample-02.txt, subtask1-01.txt, subtask1-02.txt, subtask1-03.txt, subtask1-04.txt, subtask1-05.txt, subtask1-06.txt, subtask1-07.txt, subtask1-08.txt, subtask1-09.txt, subtask1-10.txt, subtask1-11.txt, subtask1-12.txt, subtask1-13.txt, subtask1-14.txt, subtask1-15.txt, subtask1-16.txt, subtask1-17.txt, subtask1-18.txt, subtask1-19.txt, subtask1-20.txt, subtask2-01.txt, subtask2-02.txt, subtask2-03.txt, subtask2-04.txt, subtask2-05.txt, subtask2-06.txt, subtask2-07.txt, subtask2-08.txt, subtask2-09.txt, subtask2-10.txt, subtask2-11.txt, subtask2-12.txt, subtask2-13.txt, subtask2-14.txt, subtask2-15.txt, subtask2-16.txt, subtask2-17.txt, subtask2-18.txt, subtask2-19.txt, subtask2-20.txt
Subtask3 subtask0-sample-01.txt, subtask0-sample-02.txt, subtask1-01.txt, subtask1-02.txt, subtask1-03.txt, subtask1-04.txt, subtask1-05.txt, subtask1-06.txt, subtask1-07.txt, subtask1-08.txt, subtask1-09.txt, subtask1-10.txt, subtask1-11.txt, subtask1-12.txt, subtask1-13.txt, subtask1-14.txt, subtask1-15.txt, subtask1-16.txt, subtask1-17.txt, subtask1-18.txt, subtask1-19.txt, subtask1-20.txt, subtask2-01.txt, subtask2-02.txt, subtask2-03.txt, subtask2-04.txt, subtask2-05.txt, subtask2-06.txt, subtask2-07.txt, subtask2-08.txt, subtask2-09.txt, subtask2-10.txt, subtask2-11.txt, subtask2-12.txt, subtask2-13.txt, subtask2-14.txt, subtask2-15.txt, subtask2-16.txt, subtask2-17.txt, subtask2-18.txt, subtask2-19.txt, subtask2-20.txt, subtask3-01.txt, subtask3-02.txt, subtask3-03.txt, subtask3-04.txt, subtask3-05.txt, subtask3-06.txt, subtask3-07.txt, subtask3-08.txt, subtask3-09.txt, subtask3-10.txt, subtask3-11.txt, subtask3-12.txt, subtask3-13.txt, subtask3-14.txt, subtask3-15.txt, subtask3-16.txt, subtask3-17.txt, subtask3-18.txt, subtask3-19.txt, subtask3-20.txt
Case Name Status Exec Time Memory
subtask0-sample-01.txt AC 1 ms 256 KB
subtask0-sample-02.txt AC 1 ms 256 KB
subtask1-01.txt AC 2 ms 256 KB
subtask1-02.txt AC 3 ms 256 KB
subtask1-03.txt AC 161 ms 1148 KB
subtask1-04.txt AC 166 ms 1148 KB
subtask1-05.txt AC 163 ms 1148 KB
subtask1-06.txt AC 133 ms 1172 KB
subtask1-07.txt AC 172 ms 1148 KB
subtask1-08.txt AC 172 ms 1148 KB
subtask1-09.txt AC 163 ms 1128 KB
subtask1-10.txt AC 164 ms 1148 KB
subtask1-11.txt AC 162 ms 1148 KB
subtask1-12.txt AC 165 ms 1148 KB
subtask1-13.txt AC 142 ms 1156 KB
subtask1-14.txt AC 165 ms 1136 KB
subtask1-15.txt AC 171 ms 1148 KB
subtask1-16.txt AC 163 ms 1148 KB
subtask1-17.txt AC 168 ms 1148 KB
subtask1-18.txt AC 145 ms 1296 KB
subtask1-19.txt AC 168 ms 1128 KB
subtask1-20.txt AC 165 ms 1128 KB
subtask2-01.txt AC 168 ms 1148 KB
subtask2-02.txt AC 162 ms 1148 KB
subtask2-03.txt AC 161 ms 1140 KB
subtask2-04.txt AC 165 ms 1148 KB
subtask2-05.txt AC 167 ms 1148 KB
subtask2-06.txt AC 155 ms 1124 KB
subtask2-07.txt AC 176 ms 1148 KB
subtask2-08.txt AC 169 ms 1148 KB
subtask2-09.txt AC 164 ms 1148 KB
subtask2-10.txt AC 163 ms 1128 KB
subtask2-11.txt AC 159 ms 1148 KB
subtask2-12.txt AC 164 ms 1148 KB
subtask2-13.txt AC 176 ms 1148 KB
subtask2-14.txt AC 173 ms 1148 KB
subtask2-15.txt AC 168 ms 1128 KB
subtask2-16.txt AC 168 ms 1128 KB
subtask2-17.txt AC 176 ms 1148 KB
subtask2-18.txt AC 159 ms 1148 KB
subtask2-19.txt AC 170 ms 1148 KB
subtask2-20.txt AC 173 ms 1148 KB
subtask3-01.txt AC 755 ms 3716 KB
subtask3-02.txt AC 1995 ms 9220 KB
subtask3-03.txt TLE 2104 ms 18944 KB
subtask3-04.txt TLE 2104 ms 19092 KB
subtask3-05.txt TLE 2104 ms 18156 KB
subtask3-06.txt TLE 2104 ms 18112 KB
subtask3-07.txt TLE 2104 ms 18132 KB
subtask3-08.txt TLE 2104 ms 18100 KB
subtask3-09.txt TLE 2104 ms 18652 KB
subtask3-10.txt TLE 2103 ms 19040 KB
subtask3-11.txt TLE 2104 ms 18364 KB
subtask3-12.txt TLE 2104 ms 18120 KB
subtask3-13.txt TLE 2104 ms 18132 KB
subtask3-14.txt TLE 2104 ms 18144 KB
subtask3-15.txt TLE 2104 ms 18320 KB
subtask3-16.txt TLE 2104 ms 18204 KB
subtask3-17.txt TLE 2103 ms 19580 KB
subtask3-18.txt TLE 2104 ms 18132 KB
subtask3-19.txt TLE 2104 ms 18416 KB
subtask3-20.txt TLE 2104 ms 19196 KB