Cod sursa(job #2473054)

Utilizator Bogdan.1108Mandresi Bogdan Bogdan.1108 Data 13 octombrie 2019 12:56:01
Problema Secventa 2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <fstream>

using namespace std;

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

int n, k;
int a[50002];

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

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

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

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