Pagini recente » Cod sursa (job #10851) | Cod sursa (job #1493585) | Cod sursa (job #2959046) | Cod sursa (job #1683510) | Cod sursa (job #217165)
Cod sursa(job #217165)
#include<stdio.h>
#define N 50005
#define MIC -1500000000
int s[N],k,n,pozi,pozf,v,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;
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);
s[i]=s[i-1]+v;
}
}
int main ()
{
freopen("secv2.in","r",stdin);
freopen("secv2.out","w",stdout);
citire();
calcul();
printf("%d %d %d\n",pozi,pozf,smax);
return 0;
}