Cod sursa(job #2472281)

Utilizator AndoneAlexandruAndone Alexandru AndoneAlexandru Data 12 octombrie 2019 10:56:00
Problema Secventa 2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <fstream>
using namespace std;

ifstream cin("secv2.in");
ofstream cout("secv2.out");

int n, k;
int arr[50002];

void citire() {
    cin >> n >> k;
    for (int i = 1; i <= n; ++i) {
        int x; cin >> x;
        arr[i] = arr[i-1] + x;
    }
}

void rez() {
    int minim = 25005;
    int indMin = 0, maxim = arr[k], ind1 = 1, ind2 = k;
    for (int i = k + 1; i <= n; ++i) {
        if (minim > arr[i - k]) {
            minim = arr[i - k];
            indMin = i - k + 1;
        }
        if (maxim < arr[i]) {
            maxim = arr[i];
            ind1 = 1;
            ind2 = i;
        }
        if (maxim < arr[i] - minim) {
            maxim = arr[i] - minim;
            ind1 = indMin;
            ind2 = i;
        }
    }

    cout << ind1 << ' ' << ind2 << ' ' << maxim;
}

int main() {
    citire();
    rez();
    return 0;
}