Cod sursa(job #2415663)

Utilizator ardutgamerAndrei Bancila ardutgamer Data 26 aprilie 2019 13:40:21
Problema Secventa 2 Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <cstdio>
#include <climits>
using namespace std;

const int NMAX = 50005;
int v[NMAX],sp[NMAX];

int main()
{
    freopen("secv2.in","r",stdin);
    freopen("secv2.out","w",stdout);
    int n , k , sc = 0 , smax = INT_MIN , stc = 0,st,dr;
    scanf("%d%d",&n,&k);
    for(int i = 1 ; i <= n ; i++)
    {
        scanf("%d",&v[i]);
        sp[i] = sp[i-1] + v[i];
    }
    for(int i = 1 ; i <= n ; i++)
    {
        if(i >= k && sp[i]-sp[i-k]>sc+v[i])
        {
            sc = sp[i]-sp[i-k];
            stc = i-k+1;
        }
        else
            sc += v[i];
        if(sc > smax)
        {
            smax = sc;
            st = stc;
            dr = i;
        }
    }
    printf("%d %d %d\n",st,dr,smax);
    return 0;
}