fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5. ios_base::sync_with_stdio(0);
  6. cin.tie(0);
  7. int n;
  8. cin >> n;
  9. int n2=1;
  10. while(n2<n){
  11. n2*=2;
  12. }
  13. vector<int> v(2*n2);
  14. for(int i=n2+n; i<2*n2; i++){
  15. v[i]=10000000;
  16. }
  17. for(int i=n2; i<n2+n; i++){
  18. cin >> v[i];
  19. }
  20. for(int i=n2-1; i>0; i--){
  21. v[i]=min(v[2*i], v[2*i+1]);
  22. }
  23. int k;
  24. cin >> k;
  25. for(int i=0; i<k; i++){
  26. int a, b;
  27. cin >> a >> b;
  28. a+=n2-1;
  29. b+=n2-1;
  30. int c=100000000;
  31. while(a<=b){
  32. if(a%2==1){
  33. c=min(v[a], c);
  34. a++;
  35. }
  36. if(b%2==0){
  37. c=min(v[b], c);
  38. b--;
  39. }
  40. a/=2;
  41. b/=2;
  42. }
  43. cout << c << endl;
  44. }
  45. return 0;
  46. }
  47.  
Success #stdin #stdout 0s 5320KB
stdin
7
2 5 4 3 7 1 6
4
1 4
1 7
2 4
5 5
stdout
2
1
3
7