Submission #338643

# Submission time Handle Problem Language Result Execution time Memory
338643 2020-12-23T14:52:21 Z katearima Divide and conquer (IZhO14_divide) C++14
17 / 100
2 ms 512 KB
#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int N=1e5+5;
int n,a,b,x;
ll ans;
typedef struct{
	int x, gold , energy;
}camp;
vector<camp> v;
//<ll> g(N),d(N);
map <int, ll> g, d;
main(){
	cin>>n;
	for(int i=0; i<n; i++){
		cin>>x>>a>>b;
		v.push_back({x,a,b});
	}
	g[0]=v[0].gold; d[0]=v[0].energy;
	for(int i=1; i<n; i++){
		g[i]=g[i-1]+v[i].gold;
		d[i]=d[i-1]+v[i].energy;
	}
	a=0;
	for(int i=0; i<n; i++){
		b=i;
		if(v[b].x-v[a].x<= d[b]-d[a-1]){
			//cout<<a<<" "<<b<<endl;
			ans=max(ans, g[b]-g[a-1]);
			continue;
		}
		while(v[b].x-v[a].x+1>d[b]-d[a-1]){
			a++;
		}
		i--;
	}
	cout<<ans<<endl;
}

Compilation message

divide.cpp:13:6: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   13 | main(){
      |      ^
# Verdict Execution time Memory Grader output
1 Correct 1 ms 512 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 1 ms 364 KB Output is correct
5 Correct 1 ms 364 KB Output is correct
6 Correct 1 ms 364 KB Output is correct
7 Correct 1 ms 364 KB Output is correct
8 Correct 1 ms 364 KB Output is correct
9 Correct 1 ms 364 KB Output is correct
10 Correct 1 ms 364 KB Output is correct
11 Correct 1 ms 364 KB Output is correct
12 Correct 1 ms 364 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 512 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 1 ms 364 KB Output is correct
5 Correct 1 ms 364 KB Output is correct
6 Correct 1 ms 364 KB Output is correct
7 Correct 1 ms 364 KB Output is correct
8 Correct 1 ms 364 KB Output is correct
9 Correct 1 ms 364 KB Output is correct
10 Correct 1 ms 364 KB Output is correct
11 Correct 1 ms 364 KB Output is correct
12 Correct 1 ms 364 KB Output is correct
13 Correct 1 ms 364 KB Output is correct
14 Correct 1 ms 364 KB Output is correct
15 Incorrect 2 ms 364 KB Output isn't correct
16 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 512 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 1 ms 364 KB Output is correct
5 Correct 1 ms 364 KB Output is correct
6 Correct 1 ms 364 KB Output is correct
7 Correct 1 ms 364 KB Output is correct
8 Correct 1 ms 364 KB Output is correct
9 Correct 1 ms 364 KB Output is correct
10 Correct 1 ms 364 KB Output is correct
11 Correct 1 ms 364 KB Output is correct
12 Correct 1 ms 364 KB Output is correct
13 Correct 1 ms 364 KB Output is correct
14 Correct 1 ms 364 KB Output is correct
15 Incorrect 2 ms 364 KB Output isn't correct
16 Halted 0 ms 0 KB -