結果
問題 | No.2961 Shiny Monster Master |
ユーザー |
![]() |
提出日時 | 2024-11-16 15:41:04 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 41 ms / 1,777 ms |
コード長 | 1,034 bytes |
コンパイル時間 | 2,886 ms |
コンパイル使用メモリ | 250,060 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-16 15:41:12 |
合計ジャッジ時間 | 6,425 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 77 |
ソースコード
#include <bits/stdc++.h>#define For(i, a, b) for(int i = a; i < b; i++)#define rep(i, n) For(i, 0, n)#define rFor(i, a, b) for(int i = a; i >= b; i--)#define ALL(v) (v).begin(), (v).end()#define rALL(v) (v).rbegin(), (v).rend()using namespace std;using lint = long long;using ld = long double;int INF = 2000000000;lint LINF = 1000000000000000000;int main() {int R, n;cin >> R >> n;vector<int> a(n);rep(i, n) {cin >> a[i];}sort(ALL(a));int q;cin >> q;while (q--) {int l, r;cin >> l >> r;int l_sho = l / R, l_amari = l % R;int r_sho = r / R, r_amari = r % R;int il = lower_bound(ALL(a), l_amari) - a.begin();int ir = upper_bound(ALL(a), r_amari) - a.begin();if (l_sho == r_sho) {cout << ir - il << endl;} else {int ans = 0;ans += n - il;ans += n * (r_sho - (l_sho + 1));ans += ir;cout << ans << endl;}}}