Cod sursa(job #75262)
Utilizator | Ionescu Victor Cristian vanila_CPP | Data | 31 iulie 2007 19:19:11 |
---|---|---|---|
Problema | Secventa 2 | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 1.27 kb |
#include <stdio.h>
long n,k;
long aux[50001],v[50001];
void iofile(void)
{
long i;
freopen("secv2.in","r",stdin);
freopen("secv2.out","w",stdout);
scanf("%ld%ld",&n,&k);
aux[0]=0;
for (i=1;i<=n;i++)
{
scanf("%ld",&v[i]);
aux[i]=aux[i-1]+v[i];
}
fclose(stdin);
}
void secventa(void)
{
long i,j,poz,p,max,sum,u;
max=aux[k];
sum=aux[k];
p=1;
poz=1;
u=k;
for (i=k+1;i<=n;i++)
{
sum=sum+v[i];
if ((aux[i]-aux[i-k])>sum)
{
sum=aux[i]-aux[i-k];
p=i-k+1;
}
if (sum>max)
{
max=sum;
poz=p;
u=i;
}
}
printf("%ld %ld %ld\n",poz,u,max);
fclose(stdout);
}
int main(void)
{
iofile();
secventa();
}