結果
問題 |
No.3085 Easy Problems
|
ユーザー |
|
提出日時 | 2025-04-04 21:27:17 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 989 ms / 2,000 ms |
コード長 | 501 bytes |
コンパイル時間 | 4,374 ms |
コンパイル使用メモリ | 205,864 KB |
実行使用メモリ | 15,616 KB |
最終ジャッジ日時 | 2025-04-04 21:27:55 |
合計ジャッジ時間 | 31,686 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 31 |
ソースコード
#include <bits/stdc++.h> using namespace std; int main(){ int N; cin >> N; vector<int> A(N), B(N); map<int, vector<int>> mp; for (int i = 0; i < N; i++){ cin >> A[i] >> B[i]; mp[B[i]].push_back(A[i]); } sort(A.begin(), A.end()); for (auto [k, v] : mp){ sort(mp[k].begin(), mp[k].end()); } int Q; cin >> Q; while (Q--){ int X, Y; cin >> X >> Y; cout << (upper_bound(A.begin(), A.end(), X) - A.begin()) - (upper_bound(mp[Y].begin(), mp[Y].end(), X) - mp[Y].begin()) << endl; } }