Pagini recente » Cod sursa (job #2130399) | Cod sursa (job #626591) | Cod sursa (job #1232906) | Cod sursa (job #1538172) | Cod sursa (job #536783)
Cod sursa(job #536783)
#include<stdio.h>
#define oo 0x3f3f3f3f
#define dim 50010
using namespace std;
int A[dim],X[dim],Y[dim],n,i,k,ii,max,v[dim],deq[dim];
int main()
{
FILE *f=fopen("secv2.in","r"), *g=fopen("secv2.out","w");
fscanf(f,"%d %d",&n,&k);
for(i=1;i<=n;i++)
fscanf(f,"%d",&v[i]);
for(i=1;i<=k;i++)
{A[i]=A[i-1]+v[i];
X[i]=1;
Y[i]=i;
deq[i]=A[i];
}
max=A[k]; ii=k;
for(i=k+1;i<=n;i++)
{
A[i]=A[i-1]+v[i]; //continui sume partiale
X[i]=X[i-1];
Y[i]=i;
deq[i]=deq[i-1]-v[i-k]+v[i];
if(A[i] < deq[i])
{
X[i]=i-k+1;
A[i] = deq[i];
}
if(max < A[i] )
{
max=A[i];
ii=i;
}
}
fprintf(g,"%d %d %d\n",X[ii],Y[ii],max);
fclose(f);
fclose(g);
return 0;
}