Cod sursa(job #2676348)

Utilizator cyg_mihaizMIHAI ZARAFIU cyg_mihaiz Data 24 noiembrie 2020 08:54:16
Problema Secventa Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <fstream>
#include <deque>
#include <utility>
#include <climits>

using namespace std;
deque < pair <int,int> > Q;

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

int main()
{
    ios_base::sync_with_stdio(false);
    fin.tie(NULL);
    fout.tie(NULL);

    int n,k,i,x,minx,start,endx;
    fin>>n>>k;
    minx=INT_MIN;
    for(i=1;i<=n;i++)
    {
        fin>>x;
        while(!Q.empty() and Q.back().first>x)
            Q.pop_back();
        Q.push_back(make_pair(x,i));
        if(!Q.empty() and Q.front().second<=i-k)
            Q.pop_front();
        if(Q.front().first>minx and i>=k){
            minx=Q.front().first;
            start=i-k+1;
            endx=i;
        }
    }
    fin.close();
    fout<<start<<" "<<endx<<" "<<minx;
    fout.close();
    return 0;
}