Cod sursa(job #2110701)
| Utilizator | Data | 21 ianuarie 2018 11:06:45 | |
|---|---|---|---|
| Problema | Buline | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.69 kb |
#include <fstream>
using namespace std;
ifstream cin("buline.in");
ofstream cout("buline.out");
int n,x,o,v[200010],nr,inc,I,N,s,sm;
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>x>>o;
v[i]=x;
if(o==0)
v[i]=v[i]*(-1);
v[n+i]=v[i];
}
inc=1;nr=0;
for(int i=1;i<=2*n;i++)
{
s+=v[i];nr++;
if(inc+n==i)
s=-v[inc],nr--,inc++;
if(s>sm)
sm=s,I=inc,N=nr;
if(s<=0)
{
s-=v[i];
if(s>sm)
sm=s,I=inc,N=nr;
s=0,nr=0,inc=i+1;
}
}
cout<<sm<<' '<<I<<' '<<N<<'\n';
return 0;
}
