lina_os

Untitled

Nov 30th, 2025
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.91 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #define ll long long
  3. #define ull unsigned long long
  4.  
  5. using namespace std;
  6.  
  7. int main() {
  8.     ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
  9.         freopen("mex.in", "r", stdin);
  10.     ll t;
  11.     cin >> t;
  12.     while (t--) {
  13.         ll n, q;
  14.         cin >> n >> q;
  15.         vector<ll>v(n);
  16.         for (int i=0; i<n; i++) {
  17.             cin >> v[i];
  18.         }
  19.         vector<ll>pmn(n); // prefix minimum
  20.         pmn[0]=v[0];
  21.         for (int i=1; i<n; i++) {
  22.             pmn[i]=min(pmn[i-1],v[i]);
  23.         }
  24.         vector<ll>smn(n); // suffix minimum
  25.         smn[n-1]=v[n-1];
  26.         for (ll i=n-2; i>=0; i--) {
  27.             smn[i]=min(smn[i+1],v[i]);
  28.         }
  29.         smn.push_back(n+1);
  30.         pmn.insert(pmn.begin(),n+1);
  31.         while (q--) {
  32.             ll l,r;
  33.             cin >> l >> r;
  34.             cout << min(smn[r],pmn[l-1]) << endl;
  35.         }
  36.     }
  37. }
Advertisement
Add Comment
Please, Sign In to add comment