This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <iostream>
#include <set>
using namespace std;
/*
For any starting position, the operator can force the hacker into any contiguous ceil(n/2) positions
containing that particular position.
*/
int main()
{
int n;
cin >> n;
int v[n];
int i, j;
for(i = 0; i < n; i++) cin >> v[i];
int a_size = n - (n/2);
int w[n];
w[0] = 0;
for(j = 0; j < a_size; j++) w[0] += v[j];
j--;
for(i = 1; i < n; i++)
{
w[i] = w[i-1] + v[(i + a_size - 1) % n] - v[i-1];
}
multiset<int> S;
for(j = 0; j < a_size; j++) S.insert(w[j]);
j--;
int res = *S.begin();
for(i = 1; i < n; i++)
{
S.insert(w[(i + a_size - 1) % n]);
S.erase(S.find(w[i-1]));
res = max(res, *S.begin());
}
cout << res << '\n';
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |