Cod sursa(job #2815334)

Utilizator rares2004Ioan Rares rares2004 Data 9 decembrie 2021 14:57:46
Problema Secventa 2 Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

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

int main()
{
    int n, k;
    fin>>n>>k;

    vector <int> v(n + 1);
    vector <int> sp(n + 1);

    for(int i = 0; i < n; i++)
    {
        fin>>v[i];
    }
    sp[0] = v[0];
    for(int i = 1; i < n; i++)
    {
        sp[i] = sp[i - 1] + v[i];
    }
    int dr = 0, drr = 0, st = 0, str = 0;
    bool ok = false;
    int suma_max = (1 << 31), suma_min = 0;
    for(int i = 1; i < n; i++)
    {
        if(sp[i] - sp[suma_min] > suma_max)
        {
            if(i - suma_min >= k)
            {
                suma_max = sp[i] - sp[suma_min];
                st = suma_min + 1;
                dr = i;
            }
        }
        if(sp[i] < sp[suma_min])
        {
            suma_min = i;
        }
    }
    fout<<st + 1<<" "<<dr + 1<<" "<<suma_max;

    return 0;
}