Pagini recente » Cod sursa (job #2378353) | Cod sursa (job #798356) | Cod sursa (job #1667153) | Cod sursa (job #2341689) | Cod sursa (job #426097)
Cod sursa(job #426097)
#include <stdio.h>
int max,p,l,n,i,v[400001],poz[400001],x,nr;
int main() {
FILE *f=fopen("buline.in","r");
FILE *g=fopen("buline.out","w");
fscanf(f,"%d",&n);
for(i=1;i<=n;i++) {
fscanf(f,"%d%d",&v[i],&x);
if(x==0)
v[i]=-v[i];
}
for(i=1;i<=n-1;i++) {
v[n+i]=v[i];
}
for(i=1;i<=2*n-1;i++) {
if(v[i]<v[i]+v[i-1]) {
v[i]=v[i]+v[i-1];
poz[i]=poz[i-1];
nr++;
if(nr==n)
break;
}
else
poz[i]=i;
}
for(i=1;i<=2*n;i++)
if(v[i]>max) {
max=v[i];
p=poz[i];
l=i-p+1;
}
fprintf(g,"%d %d %d",max,p,l);
return 0;
}