Cod sursa(job #3243795)

Utilizator razviii237Uzum Razvan razviii237 Data 21 septembrie 2024 12:37:49
Problema Secventa 2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream fin("secv2.in");
ofstream fout("secv2.out");
int main() {
    // 5 -2 -4 6 7
    // k = 1
    long long i, n, sum = 0, sumultime, x, maxim = -9999999999999, k, v[1000005], inceput, poz1, poz2;
    fin >> n >> k;
    sumultime = 0;
    poz1 = 1;
    for(i = 1; i <= n; i ++) {
        fin >> v[i];
        sumultime += v[i];
        if(i-k >= 1)
            sumultime -= v[i-k];
        sum += v[i];
        if(sum < sumultime)
        {
            sum = sumultime;
            poz1 = i - k + 1;
        }
        if(sum > maxim && i >= k) {
            maxim = sum;
            poz2 = i;
            inceput = poz1;
        }
    }
    fout << inceput << ' ' << poz2 << ' ' << maxim;
    return 0;
}