Cod sursa(job #1955572)

Utilizator MihaelaCismaruMihaela Cismaru MihaelaCismaru Data 6 aprilie 2017 08:12:05
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include<fstream>
using namespace std;
ifstream in("secv2.in");
ofstream out("secv2.out");
long long n,k,i,d[50005],s[50005],v[50005],maxim,ok,p1,p2,a,b;
int main(){
    in>>n>>k;
    for( i = 1; i <= n; i ++ ){
        in >> v[i];
        s[i] = s[i-1] + v[i];
    }
    for( i = 1; i <= n-k+1; i ++ ){
        if( d[i-1] < 0 || i == 1 ){
            d[i] = v[i] ;
            p1=i;

        }
        if( d[i-1] >= 0){
            d[i] = d[i-1] + v[i] ;
            p2=i;
        }
        if( ok == 0 ){
            ok = 1;
            maxim = d[i] + s[ i + k -1] - s[i];
            a = p1;
            b = p2 + k -1;
        }
        if( d[i] + s[ i + k -1] - s[i]> maxim ){
            maxim = d[i] + s[ i + k -1] - s[i];
            a=p1;
            b=p2 + k -1;
        }
    }
    out << a <<" "<<b <<" "<< maxim;
    return 0;
}