Cod sursa(job #491976)

Utilizator chrissBota Cristian chriss Data 13 octombrie 2010 00:47:21
Problema Secventa Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<fstream>
#define maxn 5000010

using namespace std;

int a[maxn],deque[maxn],n,k,x,y,maxx=-100000,first,back,i,j;

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

    fin>>n>>k;
    for(i=1; i<=n; ++i)
        fin>>a[i];
    first=1;
    back=0;
    for(i=1; i<=n; ++i)
    {
        while(first<=back && a[i]<a[deque[back]]) back--;
        deque[++back]=i;
        if(deque[first]==i-k) first++;
        if(i>=k)
        {
            if(a[deque[first]]>maxx)
            {
                maxx=a[deque[first]];
                x=i-k+1;
                y=i;
            }
        }
    }
    fout<<x<<" "<<y<<" "<<maxx;
    return 0;
}