Pagini recente » Cod sursa (job #2183726) | Cod sursa (job #1583134) | Cod sursa (job #1025494) | Cod sursa (job #1838342) | Cod sursa (job #55732)
Cod sursa(job #55732)
#include<math.h>
#include<stdio.h>
#include<values.h>
int main()
{long *v=new long[400003],n,i;
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];pc=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;}
}
if(pi>n) pi-=n;
fprintf(g,"%llu %ld %ld",smax,pi,pf-pi+1);
fclose(f);
fclose(g);
return 0;}