Cod sursa(job #2813419)

Utilizator KarinaDKarina Dumitrescu KarinaD Data 6 decembrie 2021 16:53:58
Problema Secventa 2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <fstream>

using namespace std;

const int N = 50000;
int v [ N + 1 ], sum[ N + 1 ];

int main() {

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

    int n, k, i, s, s_max, p1=1, p2, x=1;

    fin >> n >> k;

    for ( i = 1; i <= k; i++ ){
        fin >> v [ i ];

        sum [ i ] = sum [ i - 1 ] + v [ i ];
    }
    s = s_max = sum [ k ];
    p2 = k;

    for ( i = k + 1; i <= n; i++ ){

        fin >> v [ i ];

        sum [ i ] = sum [ i - 1 ] + v [ i ];

        if ( sum [ i ] - sum [ i - k ] > s + v [i] ){
            s = sum [ i ] - sum [ i - k ];
            x = i - k + 1;
        }
        else
            s = s + v [ i ] ;
        if( s > s_max ){
            s_max = s;
            p1 = x;
            p2 = i;
        }
    }
    fout << p1 << " " << p2 << " " << s_max;

    return 0;
}