Cod sursa(job #28043)
Utilizator | irimia ruxandra maria rurutza | Data | 7 martie 2007 14:11:55 |
---|---|---|---|
Problema | Buline | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.49 kb |
#include<fstream.h>
ifstream f("buline.in");
ofstream g("buline.out");
int k,p,i,j,n,x,y,li,ls,sm,sc,a[100],v[100];
void main()
{
f>>n;
for(i=1;i<=n;i++)
{f>>x;f>>y;
if(y==1)
a[i]=x;
else
a[i]=-x;
}
n=n;
for(i=1;i<=n-1;i++)
a[n+i]=a[i];
sm=a[1];
v[1]=a[1];
sc=a[1];
li=1;
ls=1;
for(i=2;i<=n+n-1;i++)
{if(sc+a[i]>a[i])
{
v[i]=sc+a[i];
ls=i;
sc=sc+a[i];
}
else
{
v[i]=a[i];
sc=a[i];
li=i;
}
if(sm<v[i]&&ls-li<n)
{sm=sc;
k=li;
p=ls;
}
}
g<<sm<<" "<<k<<" "<<p-k+1;
}