Submission #17927

#TimeUsernameProblemLanguageResultExecution timeMemory
17927AdilkhanDivide and conquer (IZhO14_divide)C++98
48 / 100
1000 ms13448 KiB
#include <bits/stdc++.h>

#define pb push_back
#define endl "\n"
#define mp make_pair 
#define fi first
#define se second
#define all(x) x.begin(), x.end()
#define fname ""
#define sz(x) (int)(x.size())

typedef long long ll;

using namespace std;

const ll N = (ll)(5e5) + 322;
const ll INF = (ll)(1e9);
const ll mod = (ll)(1e9) + 7;
const double eps = 1e-9;

ll n, x[N], g[N], e[N], mx, gsum;

int main () {
	//ios_base :: sync_with_stdio (false); cin.tie(0);
	//freopen(fname".in", "r", stdin);
	//freopen(fname".out", "w", stdout);
	scanf("%lld", &n);
	for (int i = 1; i <= n; ++i) {
		scanf("%lld%lld%lld", &x[i], &g[i], &e[i]);	
	}	
	for (int i = 1; i <= n; ++i) {
		ll sum = 0, gsum = 0;
		for (int j = i; j <= n; ++j) {
			sum += e[j];
			gsum += g[j];
			if (sum >= (x[j] - x[i])) {
				mx = max(mx, gsum);
			}		
		}
	}
	cout << mx;
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...