제출 #136583

#제출 시각아이디문제언어결과실행 시간메모리
136583FedericoS금 캐기 (IZhO14_divide)C++14
0 / 100
502 ms1324 KiB
#include <iostream>
#include <set>
using namespace std;
typedef pair<int,int> pii;

int N;
int X[1000006],G[1000006],D[1000006];
int A[1000006];
int Gsum[1000006],Dsum[1000006];
int ans,best;
set<pii> S;

int query(int x){
	int res=0;
	for(pii p:S)
		if(p.second>=x)
			res=max(res,p.first);
	return res;
}

int main(){
	cin>>N;
	for(int i=1;i<N+1;i++){
		cin>>X[i]>>G[i]>>D[i];
		Gsum[i]=Gsum[i-1]+G[i];
		Dsum[i]=Dsum[i-1]+D[i];
	}

	for(int i=N;i>0;i--){
		S.insert({Gsum[i],Dsum[i]-X[i]});
		ans=max(ans,query(Dsum[i-1]-X[i])-Gsum[i-1]);
	}

	cout<<ans;

}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...