Cod sursa(job #3252680)

Utilizator Allie28Radu Alesia Allie28 Data 30 octombrie 2024 17:20:50
Problema Secventa 2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <fstream>
#include <iostream>
#include <algorithm>
#include <cstring>
#include <queue>
#include <stack>
#include <climits>

using namespace std;

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

const int LMAX = 50005;

int a[LMAX];

int main() {
    int n, i, k, smax, s, maxi, j;
    fin>>n>>k;
    smax = 0;
    for (i = 1; i <= k; i++) {
        fin>>a[i];
        smax += a[i];
    }
    maxi = smax;
    j = 1;
    s = 0;
    int p, u;
    p = 1;
    u = k;
    for (i = k + 1; i <= n; i++) {
        fin>>a[i];
        smax += a[i];
        s += a[i - k];
        if (s < 0) {
            smax -= s;
            s = 0;
            j = i - k + 1; //noul start
        }
        if (maxi < smax) {
            maxi = smax;
            p = j;
            u = i;
        }
    }
    fout<<p<<" "<<u<<" "<<maxi;


    fin.close();
    fout.close();
    return 0;
}