Cod sursa(job #1021002)
| Utilizator | Data | 2 noiembrie 2013 22:54:10 | |
|---|---|---|---|
| Problema | Buline | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.62 kb |
#include <fstream>
using namespace std;
ifstream f("buline.in");
ofstream g("buline.out");
int v[400001],p,i,n,s,pl,ma,pi,pll;
int main()
{
f>>n;
for (i=1;i<=n;i++)
{
f>>v[i]>>p;
v[i+n]=v[i];
if (p==0)
v[i]=v[i+n]=-v[i];
}
for (i=1;i<=2*n-1;i++)
{
s+=v[i];
if (s<0)
{
s=0;
pl=i;
}
if (s>ma && pl<=n && pi<=n)
{
ma=s;
pll=pl+1;
pi=i-pll+1;
}
}
g<<ma<<" "<<pll<<" "<<pi;
f.close();
g.close();
}
