Cod sursa(job #2668998)

Utilizator tudorcioc5Cioc Tudor tudorcioc5 Data 5 noiembrie 2020 20:36:06
Problema Secventa 2 Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.05 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 + 1] < minimumSum){
            minimumSum = partialSum[i - sequenceLength + 1];
            minimumSumPosition = i - sequenceLength + 1;
        }

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

            right = i;
            left = minimumSumPosition + 1;
        }

    }

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



    return 0;
}