Cod sursa(job #1106512)

Utilizator AeroHHorea Stefan AeroH Data 12 februarie 2014 21:16:52
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>
#include <deque>
using namespace std;
ifstream f("secventa.in");
ofstream g("secventa.out");
int i,j,k,N,M,D,a,b,X,Y,rasp=-1<<30;
deque <int> mini,maxi;
int v[500001];
int main()
{
   f>>N>>D;
   for (i=1;i<=N;++i)
        {
            f>>a;v[i]=a;
            if (mini.size()&&mini.front()<=i-D)
                mini.pop_front();
            while (mini.size()&&v[mini.back()]>a)
                mini.pop_back();
            mini.push_back(i);
            if (i-mini.front()>=D-1&&v[mini.front()]>rasp)
                {
                    X=mini.front();
                    Y=i;
                    rasp=v[mini.front()];
                }
        }

    g<<X<<" "<<Y<<" "<<rasp;
   return 0;

}