제출 #1190707

#제출 시각아이디문제언어결과실행 시간메모리
1190707lopkusFish 3 (JOI24_fish3)C++20
0 / 100
2095 ms5156 KiB
#include <bits/stdc++.h>

void solve() {
  int n, d;
  std::cin >> n >> d;
  std::vector<int64_t> a(n + 1);
  for(int i = 1; i <= n; i++) {
    std::cin >> a[i];
  }
  int q;
  std::cin >> q;
  while(q--) {
    int l, r;
    std::cin >> l >> r;
    if(is_sorted(a.begin() + l, a.begin() + r + 1)) {
      std::cout << 0 << "\n";
      continue;
    }
    int can = 1;
    int ans = 0;
    std::vector<int64_t> f = a;
    for(int i = l; i < r; i++) {
      while(f[i] > f[i + 1]) {
        f[i] -= d;
        ans += 1;
      }
      if(f[i] < 0) {
        can = 0;
      }
    }
    std::cout << (can == 0 ? - 1 : ans) << "\n";
  }
}

int main() {
  std::ios::sync_with_stdio(false);
  std::cin.tie(nullptr);

  int t = 1;
  //std::cin >> t;
  while (t--) {
      solve();
  }

  return 0;
}

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...