Cod sursa(job #3236200)

Utilizator LucaMuresanMuresan Luca Valentin LucaMuresan Data 26 iunie 2024 16:14:05
Problema Range minimum query Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <iostream>
#pragma GCC optimize("Ofast", "unroll-loops")
#pragma GCC target("avx2", "bmi", "bmi2")

const int NMAX = 1e5;

int a[NMAX + 1];

int main() {
  std::ios_base::sync_with_stdio(false);
  std::cin.tie(0);
  std::cout.tie(0);

  #ifndef LOCAL
    freopen("rmq.in", "r", stdin);
    freopen("rmq.out", "w", stdout);
  #endif

  int n, q;
  std::cin >> n >> q;

  for (int i = 1; i <= n; i++) {
    std::cin >> a[i];
  }

  while (q--) {
    int l, r;
    std::cin >> l >> r;
    int ret = a[l];
    for (int i = l + 1; i <= r; i++) {
      if (a[i] < ret) {
        ret = a[i];
      }
    }
    std::cout << ret << '\n';
  }

  return 0;
}