Pagini recente » Cod sursa (job #3181951) | Cod sursa (job #2131026) | Cod sursa (job #36358) | Cod sursa (job #3196805) | Cod sursa (job #3275805)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("buline.in");
ofstream fout("buline.out");
int t[400005];
deque<int> dq;
int main()
{
int n,val,semn,i,sum=0,smax=-2e9;
fin>>n;
for(i=1;i<=n;++i)
{
fin>>val>>semn;
if(semn==0)
val*=-1;
t[i]=t[i+n+1]=val;
}
for(i=1;i<=2*n;++i)
{
dq.push_front(t[i]);
sum+=t[i];
if(sum<0)
{
dq.clear();
sum=0;
}
else
{
if(dq.size()==n+1)
{
sum-=dq.back();
dq.pop_back();
}
smax=max(smax,sum);
}
}
fout<<smax;
return 0;
}