Cod sursa(job #2379340)

Utilizator alex.jilavu17alex jilavu alex.jilavu17 Data 13 martie 2019 13:24:48
Problema Secventa Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <fstream>
#include <iostream>
#include <queue>
#include <algorithm>
using namespace std;


int main()
{
    ifstream fin("secventa.in");
    ofstream fout("secventa.out");
    int n, k, curent, startingPosition, endingPosition;
    deque<int> Q;
    int minFromSeq = -30001;
    fin >> n >> k;
    for(int i = 1; i <= n; i++)
    {
        fin >> curent;
        while(Q.size() < k)
        {
            Q.push_front(curent);
        }
        deque<int>::iterator it = std::min_element(Q.begin(), Q.end());
        if((*it) > minFromSeq){
            minFromSeq = (*it);
            startingPosition = i - k + 1;
            endingPosition = i;
        }
        else
            if((*it) == minFromSeq){
                if(startingPosition > i - k + 1)
                    startingPosition = i - k + 1;
        }
        Q.pop_back();
    }
    fout << startingPosition << " " << endingPosition << " " << minFromSeq;




}