Cod sursa(job #2643066)

Utilizator Ionut2791Voicila Ionut Marius Ionut2791 Data 18 august 2020 16:38:14
Problema Secventa 2 Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.07 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
#include <limits.h>
using namespace std;

int n, k, nr, v[50005];

int main(){
    //ifstream fin("date.in");
    ifstream fin("secv2.in");
    ofstream fout("secv2.out");
    fin >> n >> k;


    for(int i = 1; i <= n; ++i){
        fin >> nr;
        v[i] += v[i-1] + nr;
        //cout << v[i] << " ";
    }
   // cout << '\n';
    int maxim = INT_MIN;
    int minim = v[1], posMinim = 0;
    pair<int,int> posMaxim;

    if(k == 1)
        ++k;

    for(int i = 1; i <= n - k + 1; ++i){
        //cout << i << " " << i+k-1 << '\n';

        if(minim > v[i]){
            posMinim = i;
            minim = v[i];
        }


        if(maxim < v[i + k - 1] - v[posMinim]){
            maxim = v[i + k - 1] - v[posMinim];
            posMaxim.first = i + k - 1;
            posMaxim.second = posMinim;
        }


       //cout << posMinim << " " << i + k - 1<< "\n";
    }
    fout <<posMaxim.second + 1<< " " << posMaxim.first << " " << maxim ;
    return 0;
}