Cod sursa(job #2053083)

Utilizator ioana_99Ioana Marin ioana_99 Data 31 octombrie 2017 14:20:29
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream f("secventa.in");
ofstream g("secventa.out");
const int N=500010;
int v[N],n,k,st,dr,j,i,a;

struct vect
{
int poz,val;
}d[N];

int main()
{
 f>>n>>k;
 st=0;
 dr=-1;
 for(i=1; i<=n; i++)
 {
     f>>v[i];
     if(st<=dr && d[st].poz==i-k)
     {
         st++;
     }
     while(st<=dr && v[i]<=v[d[dr].poz])
     {
         dr--;
     }
     a=++dr;
     d[a].poz=i;
     d[a].val=v[i];
 }
   g<<d[st].poz<<" "<<d[dr].poz<<" "<<d[st].val;
    return 0;
}