Cod sursa(job #2205762)

Utilizator anamariatoaderAna Toader anamariatoader Data 20 mai 2018 11:07:16
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <fstream>

using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
int n,k,i,p,u,v[5000001],q[5000001],Max,dr;
int main()
{
    fin>>n>>k;
    for(i=1;i<=n;i++)
        fin>>v[i];
    Max=-30001;
    p=1;
    u=0;
    for(i=1;i<=n;i++){
        while(p<=u&&v[i]<v[q[u]]){
            u--;
        }
        q[++u]=i;
        while(p<=u&&q[u]-q[p]>=k)
            p++;
        if(i>=k&&v[q[p]]>Max){
            Max=v[q[p]];
            dr=i;
        }
    }
    fout<<dr<<" "<<dr-k+1<<" "<<Max;
    return 0;
}