Pagini recente » Cod sursa (job #1962913) | Cod sursa (job #1584629) | Cod sursa (job #2382186) | Cod sursa (job #1372942) | Cod sursa (job #2099137)
#include <iostream>
#include<fstream>
using namespace std;
int main()
{ int n,a,b,i,j=0,v[400000],s=0,smax=0,L,P;
ifstream f("buline.in");
ofstream g("buline.out");
f>>n;
for(i=1;i<=n;i++){f>>a>>b;
if(b==0){v[i]=-a;v[n+i]=-a;}
else {v[i]=a; v[n+i]=a;}
}
s=v[1]>0?v[1]:0;
P=1;
for(i=2;i<=2*n-1;i++)
{
s+=v[i];
j++;
if((smax<s)&&(j<n)) {smax=s;L=j;}
if(smax==s) {if(P>i){P=i;L=j;}
if((P==i)&&(L>j)) L=j;
}
if(s<0) {s=0;P=i+1;j=0;}
}
g<<smax<<" "<<P<<" "<<L;
f.close();
g.close();
return 0;
}