제출 #1020502

#제출 시각아이디문제언어결과실행 시간메모리
1020502owoovoHacker (BOI15_hac)C++17
100 / 100
43 ms21808 KiB
#include<bits/stdc++.h> #define ll long long #define F first #define S second using namespace std; ll ori[1000010],pre[1000010],n,len; int main(){ ios::sync_with_stdio(0); cin.tie(0); cin>>n; for(int i=1;i<=n;i++){ cin>>ori[i]; ori[i+n]=ori[i]; } for(int i=1;i<=2*n;i++){ pre[i]=pre[i-1]+ori[i]; } len=(n+1)/2; ll ans=0; deque<pair<ll,ll>> dq; for(int i=len;i<=2*n;i++){ while(!dq.empty()&&dq.front().F<=i-len)dq.pop_front(); ll ne=pre[i]-pre[i-len]; while(!dq.empty()&&dq.back().S>=ne)dq.pop_back(); dq.push_back({i,ne}); if(i>=len*2-1){ ans=max(ans,dq.front().S); } } 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...