Cod sursa(job #827327)

Utilizator ericptsStavarache Petru Eric ericpts Data 1 decembrie 2012 23:01:28
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <cstdio>
using namespace std;
const int maxn = 50005;
short v[maxn];
int sum[maxn];
int main()
{
    freopen("secv2.in","r",stdin);
    freopen("secv2.out","w",stdout);
    int n,k,i;
    int suma;
    int pos;
    int min;
    scanf("%d %d",&n,&k);
    for(i=1;i<=n;++i)
    {
        scanf("%d",&v[i]);
        sum[i] = sum[i-1] + v[i];
    }
    int start = 1;
    int left=1,right=k;
    int vcurenta = sum[k];
    int max = vcurenta;
    for(i=k+1;i<=n;++i)
    {
        vcurenta += v[i];
        if(sum[i]-sum[i-k] > vcurenta)
        {
            vcurenta = sum[i]- sum[i-k];
            start = i-k+1;
        }
        if(vcurenta > max)
        {
            max = vcurenta;
            left = start;
            right = i;
        }
    }
    printf("%d %d %d\n",left,right,max);
    return 0;
}