Cod sursa(job #3319097)

Utilizator genius112Prodan Alexandra genius112 Data 30 octombrie 2025 16:05:59
Problema Secventa 2 Scor 50
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <iostream>
#include <fstream>

using namespace std;

long long sum, summax = -75000, summax1 = -75000, sumaux;
int n, k, v[50001], i, pozi, pozj, j;

int main()
{
    ifstream cin ("secv2.in");
    ofstream cout ("secv2.out");
    
    cin >> n >> k;
    
    for ( i = 1; i <= n; i++ ) {
        cin >> v[i];
        if ( i < k ) {
            sum += v[i];
        }
    }
    for ( i = 1; i <= n-k; i++ ) {
        sum -= v[i-1];
        sum += v[i+k-1];
        sumaux = sum;
        if ( sumaux > summax ) {
            summax = sumaux;
            pozi = i;
            pozj = i+k-1;
        }
        for ( j = i+k; j <= n && sumaux+v[j] >= summax1; j++ ) {
            sumaux += v[j];
            if ( sumaux > summax ) {
                summax = sumaux;
                pozi = i;
                pozj = j;
            }
        }
        summax1 = summax;
    }
    
    cout << pozi << ' ' << pozj << ' ' << summax;

    return 0;
}