Pagini recente » Cod sursa (job #2121731) | Cod sursa (job #1922242) | Monitorul de evaluare | Cod sursa (job #2622190) | Cod sursa (job #1716107)
#include<iostream>
#include<fstream>
using namespace std;
int i,n,maxi,v[200004],l,sum,i1,poz,semn;
int main()
{
ifstream cin("buline.in");
ofstream cout("buline.out");
cin>>n;
for(i=1;i<=n;i++)
{
cin>>v[i]>>semn;
if(semn==0)
v[i]*=-1;
}
for(i=1;i<=n;i++)
v[i+n]=v[i];
i1=1;
for(i=1;i<=2*n;i++)
{
while(i-i1>=n||sum<0)
{
sum-=v[i1];
i1++;
}
if(sum>maxi)
{
maxi=sum;
poz=i1;
l=i-i1;
}
sum+=v[i];
if(sum<0)
{
sum=0;
i1=i+1;
}
if(sum>maxi)
{
maxi=sum;
poz=i1;
l=i-i1+1;
}
}
cout<<maxi<<" "<<poz<<" "<<l;
return 0;
}