Pagini recente » Cod sursa (job #2054747) | Cod sursa (job #2222466) | Cod sursa (job #2009880) | Cod sursa (job #358775) | Cod sursa (job #1896119)
#include <iostream>
#include <fstream>
#define Nmax 400002
using namespace std;
ifstream f("buline.in");
ofstream g("buline.out");
int a[Nmax],n;
void read()
{
f>>n; int i; bool ok;
for(i=1;i<=n;i++)
{
f>>a[i]>>ok;
if(ok==0)a[i]-=2*a[i];
a[n+i]=a[i];
}
f.close();
}
void solve()
{
int i,s,j=1,MAX=a[1],y=1,l=1; s=a[1];
for(i=2;i<2*n;i++)
{
if(i==j+n)
{
j=i;
s=a[i];
}
else
if(s<0)
{
j=i;
s=a[i];
}
else s+=a[i];
if(MAX<s){MAX=s; y=j; l=i-j+1;}
}
g<<MAX<<" "<<y<<" "<<l;
}
int main()
{
read(); solve();
return 0;
}