Cod sursa(job #2279568)

Utilizator liviu2000Dragomirescu Liviu liviu2000 Data 9 noiembrie 2018 19:10:55
Problema Secventa 2 Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <bits/stdc++.h>
#define N 50005

using namespace std;

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

int s[N] , t[N] ;

int main()
{
    int n , k , i , maxim , inc , finall , mn;
    fin >> n >> k ;
    for ( i = 1 ; i <= n ; i++ )
    {
        fin >> t[i] ;
        s[i] = s[i-1]+t[i] ;
    }
    maxim = s[k] ;
    inc = 1 ;
    finall = k ;
    mn = 0 ;
    for ( i = k+1 ; i <= n ; i++ )
    {
        mn = mn+t[i] ;
        if ( mn > 0 )
        {
            maxim = maxim+mn ;
            finall = i ;
            mn = 0 ;
        }
        if ( s[i] - s[i-k] > maxim )
        {
            maxim = s[i] - s[i-k] ;
            inc = i-k+1 ;
            finall = k ;
            mn = 0 ;
        }
    }
    fout << inc << " " << finall << " " << maxim ;
}