Submission #652371

#TimeUsernameProblemLanguageResultExecution timeMemory
652371beaconmcHacker (BOI15_hac)C++14
100 / 100
523 ms30140 KiB
#include <bits/stdc++.h>

typedef long long ll;
using namespace std;

#define FOR(i, x, y) for(ll i=x; i<y; i++)
#define FORNEG(i, x, y) for(ll i=x; i>y; i--)
#define fast() ios_base::sync_with_stdio(false);cin.tie(NULL)

ll n;
vector<ll> sussies;
vector<ll> realsus;
multiset<ll> imp;
ll ans = -1;

int main(){
	cin >> n;
	FOR(i,0,n){
		ll temp;
		cin >> temp;
		sussies.push_back(temp);
	}
	FOR(i,0,n){
		sussies.push_back(sussies[i]);
	}

	ll k = (n+1)/2;
	ll cur = 0;
	FOR(i,0,k) cur += sussies[i];
	realsus.push_back(cur);

	FOR(i,1,n){
		cur -= sussies[i-1];
		cur += sussies[i+k-1];
		realsus.push_back(cur);
	}
	

	ll temp = realsus.size();

	FOR(i,0,temp) realsus.push_back(realsus[i]);

	FOR(i,0,k) imp.insert(realsus[i]);



	ans = max(ans, *imp.begin());
	
	FOR(i,1,n){
		imp.erase(imp.find(realsus[i-1]));
		imp.insert(realsus[i+k-1]);
		ans = max(ans, *imp.begin());
	}

	cout << ans << endl;



}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...