Pagini recente » Cod sursa (job #2931996) | Cod sursa (job #335565) | Cod sursa (job #307237) | Cod sursa (job #2977969) | Cod sursa (job #1412174)
#include <stdio.h>
int v[4000001];
int main()
{
FILE *fin=fopen("buline.in", "r");
FILE *fout=fopen("buline.out", "w");
int n, sc, stm, smax, i, drm, st, k;
fscanf(fin, "%d", &n);
for(i=1;i<=n;i++){
fscanf(fin, "%d %d", &v[i], &k);
v[i]=v[i]*(2*k-1);
v[i+n]=v[i];
}
sc=smax=v[1];
st=drm=stm=0;
for(i=2;i<=2*n;i++){
if(sc>0 && i-st+1<=n){
sc+=v[i];
}
else{
sc=v[i];
st=i;
}
if(smax<sc){
stm=st;
drm=i;
smax=sc;
}
else
if(smax==sc && i-st+1<drm-stm+1){
stm=st;
drm=i;
}
}
fprintf(fout, "%d %d %d", smax, stm, drm-stm+1);
return 0;
}