Pagini recente » Cod sursa (job #2534554) | Cod sursa (job #1530434) | Cod sursa (job #1166167) | Cod sursa (job #87673) | Cod sursa (job #55726)
Cod sursa(job #55726)
#include<stdio.h>
#include<values.h>
int main()
{long *v=new long[400003],p,n,initial,lungime,i,j;
int x;
long long smax;
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",&v[i],&x); if (x==0) v[i]=-v[i]; v[i+n]=v[i];}
smax=-MAXLONG;
long sc,pc,pf=1,pi=1;
sc=v[1];smax=v[1];
for (i=2;i<2*n;i++)
{
if(sc>0) sc+=v[i];
else {sc=v[i]; pc=i;}
if(smax<sc) {smax=sc; pi=pc;pf=i;}
}
fprintf(g,"%llu %ld %ld",smax,pi,pf-pi+1);
fclose(f);
fclose(g);
return 0;}