Cod sursa(job #2123254)
| Utilizator | Data | 5 februarie 2018 22:58:40 | |
|---|---|---|---|
| Problema | Buline | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.96 kb |
#include <stdio.h>
using namespace std;
FILE *f,*g;
int v[400004];
int main()
{
int n,x,i;
f=fopen("buline.in","r");
g=fopen("buline.out","w");
fscanf(f,"%d",&n);
int j;
for(j=1;j<=n;j++)
{
fscanf(f,"%d %d",&v[j],&x);
if(x==0)
v[j]=v[j]*(-1);
v[j]=v[j]+v[j-1];
v[n+j]=v[j];
}
int so=0,pi=1,pf=0;
for(i=1;i<=n;i++)
{
for(j=i;j<=2*n;j++)
{
if(v[j]-v[i-1]>so)
{
so=v[j]-v[i-1];
pi=i;
pf=j;
}
else
{
if(v[j]-v[i-1]==so)
{
if(pi>i)
{
pi=i;
pf=j;
}
}
}
}
}
fprintf(g,"%d %d %d",so,pi,pf-pi+1);
fclose(f);
fclose(g);
return 0;
}
