Pagini recente » Cod sursa (job #2758381) | Cod sursa (job #1866328) | Cod sursa (job #581377) | Cod sursa (job #463805) | Cod sursa (job #2718924)
#include <bits/stdc++.h>
using namespace std;
ifstream f("oo.in");
ofstream g("oo.out");
deque <pair <int,int>> deq;
int n,i,v[100005],din[100005],maxim;
int main()
{
f>>n;
for (i=1;i<=n;i++)
{
f>>v[i];
}
for (i=n+1;i<=n;i++)
{
v[i]=v[n-i];
}
deq.push_back({0,0});
for (i=3;i<=2*n;i++)
{
while (!deq.empty()&&deq.front().first-1<i-n+1)
{
deq.pop_front();
}
din[i]=deq.front().second+v[i]+v[i-1];
if (din[i]>maxim)
{
maxim=din[i];
}
while (!deq.empty()&&deq.back().second<din[i-2])
{
deq.pop_back();
}
deq.push_back({i-2,din[i-2]});
}
g<<maxim;
return 0;
}