Cod sursa(job #2210369)

Utilizator berindeiChesa Matei berindei Data 6 iunie 2018 13:26:02
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <bits/stdc++.h>
using namespace std;
ifstream in("secventa.in");
ofstream out("secventa.out");
struct ELEM{
  int nr, poz;
};

deque<ELEM> deck;
ELEM maxx={(int)-1e5, 0};

int main(){
  int n, k, i, nr, s=0;
  in >> n >> k;
  for (i=1; i<=n; i++){
    in >> nr;
    while (!deck.empty() && nr<deck.back().nr)
      deck.pop_back();
    deck.push_back({nr, i});
    if (deck.front().poz-1==i-k){
        if (deck.front().nr>maxx.nr)
            maxx=deck.front();
        deck.pop_front();
    }
  }
  out << maxx.poz << ' ' << maxx.poz+k-1 << ' ' << maxx.nr;
}