Submission #17902

# Submission time Handle Problem Language Result Execution time Memory
17902 2016-01-13T06:52:04 Z chrome Divide and conquer (IZhO14_divide) C++
0 / 100
1 ms 6416 KB
#include <bits/stdc++.h>

using namespace std;

#define ll long long
#define foreach(it, S) for (__typeof (S.begin()) it = S.begin(); it != S.end(); it++)
#define all(x) x.begin(), x.end()
#define endl '\n'
#define _ ios_base :: sync_with_stdio(false); cin.tie(NULL);

#ifdef inputf
	#define fname ""
#else
	#define fname "" // <- Here
#endif

const double eps = 1e-9;
const int MaxN = int(2e5) + 256;
const int MOD = int(1e9) + 7;

template <typename T> inline T gcd(T a, T b) {
	return b ? gcd (b, a % b) : a;
}

inline bool Palindrome(const string& s) {
	return equal(s.begin(), s.end(), s.rbegin());
}

ll x[MaxN], g[MaxN], e[MaxN];

int main() { // _
	#ifdef lcl
		freopen(fname".in", "r", stdin);
		freopen(fname".out", "w", stdout);
	#endif

	int n; scanf("%d", &n);

	for (int i = 1; i <= n; ++i) {
		scanf("%lld%lld%lld", x + i, g + i, e + i);
		e[i] += e[i - 1];
		g[i] += g[i - 1];
	}

	ll res = 0;
	
	int l = 1, r = 1;

	while (l <= r) {
		if (r == n) {
			while (l <= r) {
				if (x[r] - x[l] <= e[r] - e[l - 1])
					res = max(res, g[r] - g[l - 1]);
				++l;
			}
			break;
		}
		while (r < n && x[r] - x[l] <= e[r] - e[l - 1]) {
			res = max(res, g[r] - g[l - 1]);
			++r;
		}
		++l;
	}
	
	printf("%lld", res);
	
	return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 6416 KB Output is correct
2 Incorrect 0 ms 6416 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 6416 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 6416 KB Output isn't correct
2 Halted 0 ms 0 KB -