Pagini recente » Cod sursa (job #3001971) | Cod sursa (job #1616977) | Cod sursa (job #1980662) | Cod sursa (job #293304) | Cod sursa (job #3165508)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("buline.in");
ofstream fout("buline.out");
long long n,i,V[400002],maxim,s,st,dr,S,x;
int main ()
{
fin>>n;
for(i=1;i<=n;i++)
{
fin>>V[i]>>s;
if(s==0)
V[i]=-V[i];
V[i+n]=V[i];
}
s=1;
st=1;
dr=1;
S=V[1];
maxim=S;
for(i=2;i<=2*n;i++)
{
//fout<<V[i]<<" ";
if(S+V[i]>=V[i]&&i<s+n)
S+=V[i];
else
if(i<=n)
{
S=V[i];
s=i;
}
if(S>maxim)
{
maxim=S;
dr=i;
st=s;
}
}
fout<<maxim<<" "<<st<<" "<<dr-st+1;
return 0;
}