Cod sursa(job #272028)
| Utilizator | Data | 6 martie 2009 12:01:44 | |
|---|---|---|---|
| Problema | Buline | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.5 kb |
#include<fstream.h>
int s,smax;
int p,u,i,k,n,v[200010],semn,q;
ifstream f("buline.in");
ofstream g("buline.out");
int main()
{
smax=-2000000000 ;
f>>n; s=0;
q=n;
p=u=k=i=1;
for(i=1;i<=n;i++)
{f>>v[i]>>semn;
if (semn==0) v[i]=(-1)*v[i];
if(s<0){s=0;k=i;}
s+=v[i];
if(s>smax){smax=s;p=k;u=i;}
}
n=p;
for (i=1;i<=n;i++)
{
if(s<0){s=0;k=i;}
s+=v[i];
if(s>smax){smax=s;p=k;u=i;}
}
if (u<p) u=q+u;
g<<smax<<" "<<p<<" "<<u-p+1;
g.close();f.close();
return 0;
} 