結果
| 問題 | No.3085 Easy  Problems | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2025-04-12 00:02:49 | 
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 190 ms / 2,000 ms | 
| コード長 | 998 bytes | 
| コンパイル時間 | 1,987 ms | 
| コンパイル使用メモリ | 200,124 KB | 
| 実行使用メモリ | 9,492 KB | 
| 最終ジャッジ日時 | 2025-04-12 00:03:03 | 
| 合計ジャッジ時間 | 11,196 ms | 
| ジャッジサーバーID (参考情報) | judge3 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 2 | 
| other | AC * 31 | 
ソースコード
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;
#define pii pair < int, int >
#define vi vector < int >
#define L(i, a, b) for (int i = (a); i <= (b); i++)
#define R(i, a, b) for (int i = (a); i >= (b); i--)
#define sz(a) ((int) a.size())
#define pb push_back
#define eb emplace_back
#define me(a, x) memset(a, x, sizeof(a))
void solve() {
	int n;
	cin >> n;
	vector<vi> p(100001);
	L(i, 1, n) {
		int A, B;
		cin >> A >> B;
		p[0].pb(A);
		p[B].pb(A);
	}
	L(i, 0, 1e5) sort(p[i].begin(), p[i].end());
	int q;
	cin >> q;
	while (q--) {
		int X, Y;
		cin >> X >> Y;
		int cnt1 = upper_bound(p[0].begin(), p[0].end(), X) - p[0].begin();
		int cnt2 = upper_bound(p[Y].begin(), p[Y].end(), X) - p[Y].begin();
		cout << cnt1 - cnt2 << '\n';
	}
}
int main() {
//	freopen(".in", "r", stdin);
//	freopen(".out", "w", stdout);
	ios::sync_with_stdio(0);
	cin.tie(0), cout.tie(0);
	int T = 1;
//	cin >> T;
	while (T--) solve();
}
            
            
            
        