Pagini recente » Cod sursa (job #2027439) | Cod sursa (job #1366658) | Cod sursa (job #2272824) | Cod sursa (job #2105016) | Cod sursa (job #269418)
Cod sursa(job #269418)
#include <stdio.h>
#define DIM 200001
int i,max,x,n,p,u,S,P,U,Sa,Pa,t;
int v[2*DIM];
int main(){
FILE *f = fopen("buline.in","r");
fscanf(f,"%d",&n);
for (i=1;i<=n;i++){
fscanf(f,"%d %d",&v[i],&t);
if (!t) v[i] = -v[i];
if (i<n)
v[i+n] = v[i];
}
Sa = v[1];
Pa = 1;
max = v[1]; p = 1; u = 1;
for (i=2;i<=2*n-1;i++){
x = v[i];
if (x>Sa+x) {
S = x;
P = i;
U = i;
} else {
S = Sa+x;
P = Pa;
U = i;
}
if (S>max && P-U+1<=n) {
max = S;
p = P;
u = U;
}
Sa = S;
Pa = P;
}
fclose(f);
FILE *g = fopen("buline.out","w");
fprintf(g,"%d %d %d",max,p,u-p+1);
fclose(g);
return 0;
}