Cod sursa(job #2913947)

Utilizator bumblebeeGeorge Bondar bumblebee Data 18 iulie 2022 10:14:02
Problema Secventa 2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <fstream>
using namespace std;
 
ifstream fin("secv2.in");
ofstream fout("secv2.out");

int main() {
    int n, k, best = 0, value, startIdx = 1, maxStartIdx = 1, maxEndIdx = 1, maxBest = -25001, counter = 0, first = 0;
    fin >> n >> k;
    for (int i = 1; i <= n; ++i) {
        fin >> value;
        if (i <= k) {
            first += value;
        }
        if (best + value >= value) {
            best += value;
            ++counter;
        } else if (value > best) {
            startIdx = i;
            best = value;
            counter = 0;
        }
        if (counter >= k && best > maxBest) {
            maxBest = best;
            maxStartIdx = startIdx;
            maxEndIdx = i;
        }
    }
    if (maxBest == -25001) {
        fout << 1 << " " << k << " " << first;
    } else {
        fout << maxStartIdx << " " << maxEndIdx << " " << maxBest;
    }
    return 0;
}