Cod sursa(job #2137079)

Utilizator ruxandramateiMatei Ruxandra ruxandramatei Data 20 februarie 2018 16:26:08
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 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 stanga, indDr, indSt;

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

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

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