제출 #1150441

#제출 시각아이디문제언어결과실행 시간메모리
1150441nrg_studioHacker (BOI15_hac)C++20
100 / 100
35 ms14152 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define pb push_back #define pii pair<int,int> #define f first #define s second #define chmin(a, b) a = min(a,b) #define chmax(a, b) a = max(a,b) #define FOR(i, a, b) for (int i = (a); i < (b); i++) #define F0R(i, a) for (int i = 0; i < (a); i++) #define all(x) x.begin(),x.end() #define v vector int main() { ios::sync_with_stdio(false); cin.tie(0); int n; cin >> n; v<int> a(2*n); v<ll> sum(2*n); F0R(i,n) {cin >> a[i]; a[i+n] = a[i];} deque<ll> mn; ll m = (n+1)/2, ans = 0; F0R(i,m) {sum[m-1] += a[i];} mn.push_back(sum[m-1]); FOR(i,m,2*n) { sum[i] = sum[i-1]; sum[i] += a[i]-a[i-m]; if (i>=2*m-1 && mn.front()==sum[i-m]) {mn.pop_front();} while (mn.size() && mn.back()>sum[i]) {mn.pop_back();} mn.push_back(sum[i]); if (i>=2*m-1) {ans = max(ans,mn.front());} } cout << ans << '\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...