Cod sursa(job #2398738)

Utilizator isa_tudor_andreiAndrei Tudor isa_tudor_andrei Data 5 aprilie 2019 23:40:22
Problema Secventa Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <fstream>
#define NMAX 500000

using namespace std;

int dqmin[NMAX + 1];
int v[NMAX + 1];

int main() {
    ifstream fin("secventa.in");
    ofstream fout("secventa.out");
    int n, k, i, st, dr, last;
    fin>>n>>k;
    st = 0;
    dr = -1;
    int ans = -30001;
    for( i = k; i <= n; i ++ ) {
      fin>>v[i];
      while( dr >= st && v[dqmin[dr]] > v[i] )
        dr --;
      dqmin[++dr] = i;
      if( ans < v[dqmin[st]] && i > k )
        ans = v[dqmin[st]], last = i;
      if( dqmin[st] == i - k + 1)
        st ++;
    }
    fout<<last-k+1<<" "<<last<<" "<<ans;
    return 0;
}