Pagini recente » Cod sursa (job #1270061) | Cod sursa (job #790896) | Cod sursa (job #83806) | Cod sursa (job #3156646) | Cod sursa (job #2122767)
#include <iostream>
#include <fstream>
#include <climits>
using namespace std;
int v[200002];
int main()
{
int n,j,b,c,i,l=0,li=1,lf=1,sumopt=INT_MIN,sumint=0,pozint=1,contor=0;
ifstream f("buline.in");
ofstream g("buline.out");
f>>n;
for(i=1;i<=n;i++)
{
f>>b>>c;
if(c==0)
v[++l]=-b;
else
v[++l]=b;
}
/*for(i=1;i<=l;i++)
cout<<v[i]<<" ";*/
i=1;
while(i<=n)
{
if(i==li&&li!=1&&sumint>0)///&&sumopt>sumint)
break;
if(sumint<0)
li=lf=i,sumint=v[i],contor=1;
else
{
sumint+=v[i];
contor++;
pozint=i;
if(sumint>sumopt)
sumopt=sumint,lf=i;
}
if(i==n&&li!=1)
i=1;
else
i++;
}
g<<sumopt<<" "<<li<<" "<<contor-1;
f.close();
g.close();
return 0;
}