Cod sursa(job #1231477)

Utilizator ZenusTudor Costin Razvan Zenus Data 20 septembrie 2014 19:23:11
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <vector>
#include <set>
#include <algorithm>
#include <cctype>
#include <cstdlib>
#include <cmath>
#include <stack>
#include <queue>
#include <cstring>
#include <string>
#include <cstdio>
#include <climits>

#define PII pair < int , int >
#define MP make_pair
#define PB push_back
#define F first
#define S second
#define LL long long
#define NMAX 50001

using namespace std;

int i,MIN,K,N,final,start,current,MAX;
int A[NMAX],suma[NMAX];

int main()
{
freopen("secv2.in","r",stdin);
freopen("secv2.out","w",stdout);

for (i=1,scanf("%d%d",&N,&K);i<=N;++i)
{
    scanf("%d",&A[i]);
    suma[i]=A[i]+suma[i-1];
}

for (i=K,MAX=-INT_MAX,MIN=INT_MAX;i<=N;++i)
{
    if (MIN>suma[i-K])
    {
        current=i-K+1;
        MIN=suma[i-K];
    }

    if (MAX<suma[i]-MIN)
    {
        MAX=suma[i]-MIN;
        start=current;
        final=i;
    }
}

printf("%d %d %d\n",start,final,MAX);

return 0;
}