Submission #867438

#TimeUsernameProblemLanguageResultExecution timeMemory
867438dio_2Hacker (BOI15_hac)C++17
60 / 100
48 ms14188 KiB
#include<bits/stdc++.h>
using namespace std;

int main(){
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	
	int N;
	cin >> N;
	
	vector<int> A(N);
	for(int &x : A) cin >> x; // A[i] <= 2000

	for(int i = 0;i < N;i++) A.push_back(A[i]);
	for(int i = 0;i < N;i++) A.push_back(A[i]);
	
	vector<int> ps(3 * N);
	for(int i = 0;i < 3 * N;i++){
		ps[i] = A[i];
		if(i) ps[i] += ps[i-1];
	}
	
	auto Sum = [&](int l, int r)->int{
		int res = ps[r];
		if(l) res -= ps[l - 1];
		return res;	
	};
	
	int ans = 0;
	int K = (N + 1) / 2;
	
	for(int i = N;i < (N > 10000 ? N+1 :2 * N);i++){
		int res = 2000 * N;
		for(int start = i - K + 1;start <= i;++start){
			res = min(res, Sum(start, start + K - 1));
		}
		ans = max(ans, res);
	}
	
	cout << ans << '\n';
	
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...