제출 #1343414

#제출 시각아이디문제언어결과실행 시간메모리
1343414WarinchaiRegions (IOI09_regions)C++20
30 / 100
4628 ms196608 KiB
#include<bits/stdc++.h>
using namespace std;

vector<int>adj[200005];
int ar[200005];
int cnt[200005];
int ans[505][200005];
int tot;
int X=500;

void dfs(int u,int t){
    ans[t][ar[u]]+=tot;
    if(ar[u]==t)tot++;
    for(auto x:adj[u])dfs(x,t);
    if(ar[u]==t)tot--;
}

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    int n,r,q;cin>>n>>r>>q;
    for(int i=1;i<=n;i++){
        if(i==1)cin>>ar[i];
        else{
            int x;cin>>x;
            adj[x].push_back(i);
            cin>>ar[i];
            cnt[ar[i]]++;
        }
    }
    for(int i=1;i<=r;i++){
        dfs(1,i);
    }
    for(int i=0;i<q;i++){
        int r1,r2;cin>>r1>>r2;
        cout<<ans[r1][r2]<<endl;
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...