Cod sursa(job #2479238)

Utilizator buhaidarius@gmail.comBuhai Darius [email protected] Data 23 octombrie 2019 16:26:17
Problema Secventa 2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.98 kb
//
//  main.cpp
//  Secv2
//
//  Created by Darius Buhai on 23/10/2019.
//  Copyright © 2019 Darius Buhai. All rights reserved.
//

#include <iostream>
#include <deque>
#include <fstream>

using namespace std;

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

int main() {
    deque<int> secv;
    int k, n, a, i, maxis, cs = 0, sum = 0, lastail = 0, tail = 0;
    fin>>n>>k;
    pair<int, int> maxisp = {0, k-1};
    for(i=0;i<k;i++){
        fin>>a;
        secv.push_back(a);
        cs += a;
    }
    maxis = cs;
    for(;i<n;i++){
        fin>>a;
        secv.push_back(a);
        sum+=secv.front();
        lastail++;
        secv.pop_front();
        cs+=a;
        if(sum<0){
            cs-=sum;
            tail+=lastail;
            lastail = 0;
            sum = 0;
        }
        if(cs>maxis){
            maxis = cs;
            maxisp.second = i;
            maxisp.first = tail;
        }
    }
    fout<<maxisp.first+1<<" "<<maxisp.second+1<<" "<<maxis;
    return 0;
}