Pagini recente » Cod sursa (job #1708387) | Cod sursa (job #1961709) | Cod sursa (job #1996518) | Autentificare | Cod sursa (job #2122953)
#include <iostream>
#include <fstream>
#include <climits>
using namespace std;
int v[400008];
int main()
{
int n,i,li=1,lf=1,sumint=0,sumopt=INT_MIN,b,c,l=0,k=0,u;
ifstream f("buline.in");
ofstream g("buline.out");
f>>n;
for(i=1;i<=n;i++)
{
f>>b>>c;
if(c==0)
{
v[i]=v[n+i]=-b;
}
else
{
v[i]=v[n+i]=b;
}
}
/*for(i=1;i<=n*2;i++)
cout<<v[i]<<" ";
u=v[1];*/
k=1;
for(i=1;i<=n*2;i++)
{
if(k==li&&li!=lf)
break;
if(sumint<0)
sumint=v[i],li=lf=i,u=v[i];
else
{
sumint+=v[i];
if(sumint>sumopt)
{
sumopt=sumint;
/// u=v[i];
lf=i;
///k=lf;
}
}
if(i==n)
k=1;
else
k++;
}
g<<sumopt<<" "<<li<<" "<<lf-li+1;
f.close();
g.close();
return 0;
}