Submission #825279

#TimeUsernameProblemLanguageResultExecution timeMemory
825279serifefedartarRegions (IOI09_regions)C++17
11 / 100
648 ms131072 KiB
#include <bits/stdc++.h> using namespace std; #define fast ios::sync_with_stdio(0);cin.tie(0); typedef long long ll; #define f first #define s second #define MOD 1000000007 #define LOGN 20 #define MAXN 100005 vector<vector<int>> graph; vector<vector<int>> rList; vector<map<int,int>> mps; vector<int> region; void dfs(int node, int parent) { mps[node] = mps[parent]; mps[node][region[node]]++; for (auto u : graph[node]) { if (u == parent) continue; dfs(u, node); } } int main() { fast int N, R, Q, S, H; cin >> N >> R >> Q; graph = vector<vector<int>>(N+1, vector<int>()); rList = vector<vector<int>>(R+1, vector<int>()); mps = vector<map<int,int>>(N+1, map<int,int>()); region = vector<int>(N+1); cin >> region[1]; rList[region[1]].push_back(1); for (int i = 2; i <= N; i++) { cin >> S >> region[i]; graph[S].push_back(i); rList[region[i]].push_back(i); } dfs(1, 1); while (Q--) { int r1, r2; cin >> r1 >> r2; int ans = 0; for (auto u : rList[r2]) ans += mps[u][r1]; cout << ans << endl; } }

Compilation message (stderr)

regions.cpp: In function 'int main()':
regions.cpp:28:21: warning: unused variable 'H' [-Wunused-variable]
   28 |     int N, R, Q, S, H;
      |                     ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...