Pagini recente » Cod sursa (job #832045) | Cod sursa (job #1249976) | Cod sursa (job #2889664) | Cod sursa (job #2006764) | Cod sursa (job #213525)
Cod sursa(job #213525)
#include<stdio.h>
#define N 50000
#define MIC -1500000000
int s[N],k,n,pozi,pozf,v[N],sc,smax=MIC;
//pozi=pzitia init a celei mai bune secv
//pozf...
void calcul()
{
sc=s[k-1];
int poz=1;//poz=pozitia de inceput a secventei curente
for (int i=k; i<=n; i++)
{
sc+=v[i];
if(sc>smax)
{
smax=sc;
pozi=poz;
pozf=i;
}
if (s[i]-s[i-k]>sc)
{
sc=s[i]-s[i-k];
poz=i-k+1;
}
}
}
void citire()
{
scanf("%d%d",&n,&k);
for(int i=1; i<=n; ++i)
{
scanf("%d",&v[i]);
s[i]=s[i-1]+v[i];
}
}
int main ()
{
freopen("secv2.in","r",stdin);
freopen("secv2.out","w",stdout);
citire();
calcul();
printf("%d %d %d\n",pozi,pozf,smax);
return 0;
}