Cod sursa(job #58390)
Utilizator | Data | 5 mai 2007 19:25:53 | |
---|---|---|---|
Problema | Buline | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.54 kb |
#include<fstream.h>
#include<math.h>
ifstream f("buline.in");
ofstream g("buline.out");
long a[400000],smax,b,i,j,x1,x2,n,s,c,x,x3;
int main()
{
f>>n;
for(i=1;i<=n;i++)
{
f>>a[i];
f>>b;
if(b==0)
a[i]=-a[i];
}
for(i=n+1;i<=n+n-2;i++)
a[i]=a[i-n];
x=n+n-2;
for(j=1;j<=n;j++)
{
s=0;
for(i=j;i<=j+n-1;i++)
{
s=s+a[i];
c++;
if(s>smax && c>=b)
{
smax=s;
x3=x1;
x2=i;
}
if(s<0)
{ s=0;
c=0;
x1=i;
}
}
}
g<<smax<<" "<<(x3+1)<<" "<<abs(x2-x3);
return 0;
}