Pagini recente » Cod sursa (job #2475510) | Cod sursa (job #1274256) | Cod sursa (job #2319018) | Cod sursa (job #2980584) | Cod sursa (job #51442)
Cod sursa(job #51442)
#include<stdio.h>
int main()
{long n,start,i,k=1,val,st,dr,rez,a[400001],s[400001];
long p;
int x;
FILE*f=fopen("buline.in","r");
FILE *g=fopen("buline.out","w");
fscanf(f,"%ld",&n);
for (i=1;i<=n;i++)
{fscanf(f,"%ld %d",&a[i],&x); if (x==0) a[i]=-a[i]; a[i+n]=a[i];s[i]=s[i-1]+a[i];s[i+n]=s[i];}
rez=s[k]; st=1; dr=k;
val=s[k];
start=1;
for (i=k+1;i<=n;i++)
{val=val+a[i];
if (val<s[i]-s[i-k]) {val=s[i]-s[i-k];
start=i-k+1;}
if (rez<val) {rez=val; st=start;dr=i;}}
fprintf(g,"%ld %ld %ld",rez,st,dr);
fclose(f);
fclose(g);
return 0;}