Cod sursa(job #185235)
Utilizator | Data | 24 aprilie 2008 22:26:43 | |
---|---|---|---|
Problema | Secventa 2 | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.59 kb |
#include <cstdio>
#define MAX_N 50001
int N,K,V[MAX_N],A[MAX_N];
void read()
{
scanf("%d %d",&N,&K);
for(int i=0; i<N; i++)
scanf("%d",V+i);
}
void solve()
{
int x,ps = 0, pd = 0, max = 0;
for(int i=1; i<N; i++)
if((A[i] = A[i-1] + V[i]) > max)
max = A[i],pd = i;
for(int i = pd - K; i>=0; --i)
if((x = V[pd] - V[i]) > max)
max = x,ps = i+1;
printf("%d %d %d",ps+1,pd+1,max);
}
int main()
{
freopen("secv2.in","r",stdin);
freopen("secv2.out","w",stdout);
read();
solve();
}