Submission #290739

#TimeUsernameProblemLanguageResultExecution timeMemory
290739PeppaPigBigger segments (IZhO19_segments)C++14
0 / 100
1 ms384 KiB
#include <bits/stdc++.h>

#define long long long

using namespace std;

const int N = 5e5 + 5;

int n;
long A[N], pref[N];

int main() {
	scanf("%d", &n);
	for(int i = 1; i <= n; i++) {
		scanf("%lld", A + i);
		pref[i] = pref[i - 1] + A[i];
	}
	
	int ans = 0, idx = 0;
	long sum = 0;
	for(int i = 1; i <= n; i++) if(pref[i] - pref[idx] >= sum) {
		++ans;
		while(idx + 1 < i && pref[i] - pref[idx + 1] >= sum + A[idx + 1])
			++idx;
		sum = pref[i] - pref[idx];
		idx = i;
	}
	printf("%d\n", ans);

	return 0;

}

Compilation message (stderr)

segments.cpp: In function 'int main()':
segments.cpp:13:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   13 |  scanf("%d", &n);
      |  ~~~~~^~~~~~~~~~
segments.cpp:15:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   15 |   scanf("%lld", A + i);
      |   ~~~~~^~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...