結果
| 問題 |
No.2710 How many more?
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2024-03-31 13:33:04 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 861 bytes |
| コンパイル時間 | 2,638 ms |
| コンパイル使用メモリ | 221,028 KB |
| 最終ジャッジ日時 | 2025-02-20 16:16:47 |
|
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 6 WA * 11 |
ソースコード
#pragma GCC optimize("Ofast")
#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;
typedef unsigned long long int ull;
mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());
ll myRand(ll B) { return (ull)rng() % B; }
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n,q; cin >> n >> q;
vector<int> a(n);
vector<pair<int,int>> v(n);
for (int i = 0; i < n; ++i) {
cin >> a[i];
v[i] = {a[i], i};
}
sort(v.rbegin(), v.rend());
vector<int> u(n);
for (int i = 0; i < n; ) {
int j = i;
while (v[i].first == v[j].first) {
u[v[i].second] = j;
i += 1;
}
}
while (q--) {
int x, y; cin >> x >> y;
x -= 1, y -= 1;
int res = u[y] - u[x] - 1;
cout << max(0,res) << "\n";
}
}