Cod sursa(job #1536668)

Utilizator CrystyAngelDinu Cristian CrystyAngel Data 26 noiembrie 2015 15:04:22
Problema Secventa Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <iostream>
#include <deque>
#include <fstream>
#include <stdio.h>
using namespace std;
int n,k,v[5000010];
long long s;
int i,mx,x;
ifstream f("secventa.in");
FILE *g=fopen("secventa.out","w");
deque<int> w;
int main()
{
    f>>n>>k;
    mx=-3000000;
    for(i=1; i<=n; i++)
        f>>v[i];
    for(i=1; i<=n; i++)
    {
        while(!w.empty() && v[w.back()]>v[i])
            w.pop_back();
        w.push_back(i);
        if(w.front()==i-k)
            w.pop_front();
        if(i>=k)
            if(v[w.front()]>mx)
            {
                mx=v[w.front()];
                x=i-k;
            }
    }
    fprintf(g,"%d %d %d",x+1,x+k,mx);
}