Cod sursa(job #1536655)

Utilizator CrystyAngelDinu Cristian CrystyAngel Data 26 noiembrie 2015 14:40:40
Problema Secventa Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <iostream>
#include <deque>
#include <stdio.h>
using namespace std;
int n,k,v[5000010];
long long s;
int i,mx,x;
FILE *f=fopen("secventa.in","r");
FILE *g=fopen("secventa.out","w");
deque<int> w;
int main()
{
    fscanf(f,"%d%d",&n,&k);
    mx=-3000000;
    for(i=1; i<=n; i++)
        fscanf(f,"%d",&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);
}