Cod sursa(job #1021358)
| Utilizator | Data | 3 noiembrie 2013 18:42:19 | |
|---|---|---|---|
| Problema | Buline | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.67 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;
if (i-pl<n)pi=i-pl;
else
pi=i-pl-n;
}
}
g<<ma<<" "<<pll<<" "<<pi;
f.close();
g.close();
}
