Cod sursa(job #3238921)

Utilizator andreidumitrache1709Dumitrache Andrei Bogdan andreidumitrache1709 Data 31 iulie 2024 15:47:38
Problema Secventa 2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <bits/stdc++.h>
#define MAXN 50000
#define int long long
using namespace std;
int mins[2][MAXN + 1];
int sp[MAXN + 1];
signed main() {
    ifstream cin( "secv2.in" );
    ofstream cout( "secv2.out" );
    int n , k , i , s , a , maxi , st , dr;
    cin >> n >> k;
    s = 0;
    mins[0][0] = 0;
    mins[0][1] = 0;
    for( i = 1 ; i <= n ; i++ ) {
        cin >> a;
        s += a;
        if( s < mins[0][i - 1] ) {
            mins[0][i] = s;
            mins[1][i] = i;
        } else {
            mins[0][i] = mins[0][i - 1];
            mins[1][i] = mins[1][i - 1];
        }
        sp[i] = s;
    }
    maxi = LONG_MIN;
    st = dr = 0;
    for( i = k ; i <= n ; i++ )
        if( sp[i] - mins[0][i - k] > maxi ) {
            maxi = sp[i] - mins[0][i - k];
            st = mins[1][i - k] + 1;
            dr = i;
        }
    cout << st << ' ' << dr << ' ' << maxi << '\n';
    return 0;
}