Cod sursa(job #2200666)

Utilizator mateicosCostescu Matei mateicos Data 2 mai 2018 09:31:49
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <cstdio>
#include <queue>

using namespace std;

typedef pair <int, int> ii;
deque<ii>q;
int main()
{
    freopen("secventa.in", "r", stdin);
    freopen("secventa.out", "w", stdout);
    int x, n ,i , k;
    int a, b, mx;
    scanf("%d%d", &n, &k);
    mx = 0;
    for(i = 1;i <= n;i++){
      scanf("%d", &x);
      while(!q.empty() && q.back().first >= x){
        q.pop_back();
      }
      q.push_back(ii(x, i));
      while(!q.empty() && i-q.front().second + 1 > k){
        q.pop_front();
      }
      if(i >= k){
        if(mx < x){
          mx = q.front().first;
          b = i;
          a = i - q.size();
        }
      }
    }
    printf("%d %d %d", a, b, mx);
    return 0;
}