Cod sursa(job #1777259)

Utilizator valentinoMoldovan Rares valentino Data 12 octombrie 2016 10:18:47
Problema Secventa 2 Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>
#include <iostream>
#define NM 50005
#define INF 0x3f3f3f3f

using namespace std;

ifstream f("secv2.in");
ofstream g("secv2.out");

int v[NM], n, k;

inline int max(int a, int b)
{
    return a > b ? a : b;
}

int main()
{
    int st, indx = 1 , dr , best, sum = 0;
    f >> n >> k;
    for(int i = 1; i <= n; ++i)
        f >> v[i];
    best = -INF;
    for(int i = 1; i <= n; ++i)
    {
        if(sum < 0)
            sum = v[i], indx = i;
        else sum += v[i];
        if(sum > best && i - indx >= k + 1)
        {
            best = sum;
            dr = i;
            st = indx;
        }
    }
    g << st << ' ' << dr << ' ' << best << '\n';
    f.close(); g.close();

}