Cod sursa(job #2132973)
| Utilizator | Data | 16 februarie 2018 12:52:06 | |
|---|---|---|---|
| Problema | Buline | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.7 kb |
#include <stdio.h>
using namespace std;
FILE *f,*g;
int v[200002];
int main()
{
f=fopen("buline.in","r");
g=fopen("buline.out","w");
int i,sum=-1,smax=-2000000000,ii,jj,aux,n,x,semn;
fscanf(f,"%d",&n);
for(i=1;i<=n;i++)
{
fscanf(f,"%d %d",&v[i],&semn);
if(semn==0)
v[i]*=-1;
v[i+n]=v[i];
}
for(i=1;i<=n*2;i++)
{
if(sum<0)
{
sum=v[i];
aux=i;
}
else
sum+=v[i];
if(sum>smax && i-aux+1<=n)
{
smax=sum;
ii=aux;
jj=i-aux+1;
}
}
fprintf(g,"%d %d %d",smax,ii,jj);
return 0;
}
