Cod sursa(job #3316510)

Utilizator magnifica5Tabarca Ioana magnifica5 Data 18 octombrie 2025 23:35:20
Problema Secventa Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <bits/stdc++.h>
#define cin fin
#define cout fout
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
int main()
{
   deque<int> dq;
   int n, k, cnt, st = 1, dr = 1, maxi = -30001, x, fst, sec;
   cin >> n >> k;
   int v[n + 1];
   for(int i = 1; i <= n; i ++){
       cin >> v[i];
   }
   while(dr <= n){
    if(dq.empty() || v[dq.back()] <= v[dr])
        dq.push_back(dr);
    else if(v[dq.back()] > v[dr]){
        while(!dq.empty() && v[dq.back()] > v[dr]){
            dq.pop_back();
        }
        dq.push_back(dr);
    }
    if(dr >= k){
        st = dr - k + 1;
        while (!dq.empty() && dq.front() < st) dq.pop_front();
            if (!dq.empty()) {
                if (v[dq.front()] > maxi) {
                    maxi = v[dq.front()];
                    fst = st;
                    sec = dr;
                }
            }
      }
      dr ++;
   }
   cout << fst << ' ' << sec << ' ' << maxi;
}