Pagini recente » Cod sursa (job #1062114) | Cod sursa (job #1470759) | Cod sursa (job #2392272) | Cod sursa (job #723228) | Cod sursa (job #509824)
Cod sursa(job #509824)
# include <stdio.h>
const int MAX=50000;
long int n,k,i,j,pozmax,ninc,nincmax,sig[MAX+1],v[MAX+1],max[MAX];
int main()
{FILE *f=fopen("secv2.in","r");
fscanf(f,"%d%d",&n,&k);
for (i=1;i<=n;i++) fscanf(f,"%ld",&v[i]);
for (i=1;i<=k;i++) sig[k]+=v[i];
for (i=k+1;i<=n;i++) sig[i]=sig[i-1]-v[i-k]+v[i];
max[k]=sig[k];ninc=0;pozmax=k,nincmax=0;
for (i=k+1;i<=n;i++)
if (sig[i]>v[i]+max[i-1])
{
ninc=0;
max[i]=sig[i];
if (max[i-1]>max[pozmax]) {pozmax=i;nincmax=ninc;}
}
else
{
ninc++;
max[i]=v[i]+max[i-1];
if (max[i]>max[pozmax]) {pozmax=i;nincmax=ninc;}
}
FILE *g=fopen("secv2.out","w");
fprintf(g,"%ld %ld %ld\n",pozmax-k-nincmax+1,pozmax,max[pozmax]);
fcloseall();
return 0;
}