Cod sursa(job #2644637)

Utilizator robeert.77Chirica Robert robeert.77 Data 25 august 2020 13:03:54
Problema Secventa 2 Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <fstream>
#include <vector>
using namespace std;

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

int main() {
    fin.tie(0);
    ios::sync_with_stdio(0);
    int n, k, sum = 0;
    fin >> n >> k;
    vector<int> v(n + 1);
    for (int i = 1; i <= n; i++) {
        fin >> v[i];
        if (i <= k)
            sum += v[i];
    }

    int startPos = 1, finishPos = k, maxSum = sum;
    for (int i = k + 1; i <= n; i++) {
        sum -= v[i - k];
        if (sum + v[i] > maxSum + v[i]) {
            maxSum = sum + v[i];
            startPos = i - k + 1;
            finishPos = i;
        }
        else if (maxSum + v[i] > maxSum){
            maxSum += v[i];
            finishPos = i;
        }
    }

    fout << startPos << " " << finishPos << " " << maxSum;

    return 0;
}