Cod sursa(job #2640702)

Utilizator Stefan4814Voicila Stefan Stefan4814 Data 7 august 2020 16:00:02
Problema Secventa 2 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <bits/stdc++.h>
#define ll long long
#define maxn 5e4 + 1

using namespace std;

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

int n, k, start, finish, max_sum, sum = 0, index = 1;

int main() {
    fin >> n >> k;
    vector<int> v(n + 1);
    vector<int> sp(n + 1);
    for(int i = 1; i <= k ; i++) {
        fin >> v[i];
        sp[i] = sp[i - 1] + v[i];
    }
    sum = sp[k];
    max_sum = sum;
    start = 1;
    finish = k;

    for(int i = k + 1; i <= n; i++) {
        fin >> v[i];
        sp[i] = sp[i - 1] + v[i];
        if(sp[i] - sp[i - k] > sum + v[i]) {
            sum = sp[i] - sp[i - k];
            index = i - k + 1;
        }
        else
            sum += v[i];
        if(sum > max_sum) {
            max_sum = sum;
            start = index;
            finish = i;
        }

    }
    fout << start << ' ' << finish << ' ' << max_sum;
    return 0;
}