Submission #31087

#TimeUsernameProblemLanguageResultExecution timeMemory
31087nibnalinHacker (BOI15_hac)C++14
0 / 100
0 ms3972 KiB
#include <iostream>
#include <cstdio>
#include <vector>
using namespace std;

const int maxn = int(5e5)+5, inf = int(1e9)+5;

int n, A[maxn];

inline int mod(int x) { return ((x%n)+n)%n; }

int main(void)
{
	scanf("%d", &n);
	for(int i = 0;i < n;i++) scanf("%d", &A[i]);
	int sz = n/2+n%2;
	int back = 0, front = 0;
	for(int i = 0;i < sz;i++) front += A[mod(i)], back += A[mod(0-i)];
	
	int res = min(front, back);
	for(int i = 1;i < n;i++)
	{
		front -= A[mod(i-1)];
		back -= A[mod(i-sz)];
		front += A[mod(i+sz-1)];
		back += A[mod(i)];
		res = max(res, min(front, back));
	}
	printf("%d\n", res);
}

Compilation message (stderr)

hac.cpp: In function 'int main()':
hac.cpp:14:17: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d", &n);
                 ^
hac.cpp:15:45: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  for(int i = 0;i < n;i++) scanf("%d", &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...