Cod sursa(job #2668999)

Utilizator tudorcioc5Cioc Tudor tudorcioc5 Data 5 noiembrie 2020 20:41:05
Problema Secventa 2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.04 kb
#include <fstream>
#include <climits>
using namespace std;

const int MAX_LENGTH = 50002;

int main (void){
    ifstream fin ("secv2.in");

    int length, sequenceLength;
    fin>>length>>sequenceLength;


    int partialSum[MAX_LENGTH] = {};

    for (int i=1; i<=length; i++){
        int number;
        fin>>number;

        partialSum[i] = partialSum[i-1] + number;
    }
    fin.close();

    int minimumSum = INT_MAX, minimumSumPosition = 0;
    int maxSum = INT_MIN, right, left;

    for (int i=sequenceLength; i<=length; i++){
        if (partialSum[i - sequenceLength] < minimumSum){
            minimumSum = partialSum[i - sequenceLength];
            minimumSumPosition = i - sequenceLength + 1;
        }

        if (partialSum[i] - minimumSum > maxSum){
            maxSum = partialSum[i] - minimumSum;

            right = i;
            left = minimumSumPosition;
        }

    }

    ofstream fout ("secv2.out");
    fout<<left<<" "<<right<<" "<<maxSum<<"\n";
    fout.close();

    return 0;
}