Cod sursa(job #1809628)

Utilizator vladvlad00Vlad Teodorescu vladvlad00 Data 19 noiembrie 2016 09:21:50
Problema Secventa 2 Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>
#define INF 999999

using namespace std;

ifstream fin("secv2.in");
ofstream fout("secv2.out");

struct pozz
{
    int x, poz;
};

int n, k, inM, sfM, maxim, v[50005], s[50005];
pozz minim[50005];

int main()
{
    int i;

    fin >> n >> k;
    minim[0].x = INF;
    for (i=1;i<=n;i++)
    {
        fin >> v[i];
        s[i] = s[i-1]+v[i];
        minim[i] = minim[i-1];
        if (minim[i].x > v[i])
        {
            minim[i].x = v[i];
            minim[i].poz = i;
        }
    }
    minim[0].x = 0;
    maxim = -INF;
    for (i=k;i<=n;i++)
        if (s[i]-minim[i-k].x > maxim)
        {
            maxim = s[i]-minim[i-k].x;
            inM = minim[i-k].poz+1;
            sfM = i;
        }
    fout << inM << ' ' << sfM << ' ' << maxim << '\n';
    return 0;
}