Cod sursa(job #2137071)

Utilizator ruxandramateiMatei Ruxandra ruxandramatei Data 20 februarie 2018 16:18:57
Problema Secventa 2 Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <iostream>
#include <fstream>
#include <climits>

using namespace std;

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

int n, k;
long long sumMax, sTemp, sumaTotala;
int nr, indDr, indSt;

void rezolvare(){
    in >> n >> k;
    sumMax = INT_MIN;
    sTemp = 0;
    nr = 0;
    for(int i = 1; i<= n; i++){
        int x;
        in >> x;
        sumaTotala += x;
        if(sTemp >= 0){
            sTemp += x;
            nr++;
        }else{
            sTemp = x;
            nr = 0;
        }
        if(sTemp > sumMax && nr >= k){
            sumMax = sTemp;
            indDr = i;
            indSt = i - nr;
        }
    }
}

void afisare(){
    if(k == n){
        out << '1' <<' '<<n <<' '<< sumaTotala;
        return;
    }
    out << indSt <<' '<<indDr << ' '<< sumMax;
}

int main() {
    rezolvare();
    afisare();
    return 0;
}