Pagini recente » Cod sursa (job #1040384) | Cod sursa (job #230865) | Cod sursa (job #427971) | Cod sursa (job #1376740) | Cod sursa (job #2055591)
#include <iostream>
#include <fstream>
using namespace std;
int main ()
{
ifstream in("buline.in");
ofstream out("buline.out");
int n;
in>>n;
int v[200001];
int x,i;
for (i=1;i<=n;i++)
{
in>>v[i]>>x;
if (x==0)
v[i]=v[i]*-1;
}
int st2;
int len=0,k;
int st=1,s=0,m=v[i];
for (k=1;k<=n;k++)
{
if (v[k]>0)
{st=k;s=0;
for (i=k;i<=n;i++)
{
s=s+v[i];
if (s>m)
{m=s;len=i-st+1;st2=st;}
if (s<0)
{s=0;st=i+1;}
}
for (i=1;i<st;i++)
{
s=s+v[i];
if (s>m)
{m=s;len=i+n-st+1;st2=st;}
if (s<0)
s=0;
}
}
}
out<<m<<" "<<st2<<" "<<len;
}