답안 #1024496

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1024496 2024-07-16T06:07:15 Z Ice_man Regions (IOI09_regions) C++14
13 / 100
1058 ms 131072 KB
/**
 ____    ____    ____    __________________    ____    ____    ____
||I ||  ||c ||  ||e ||  ||                ||  ||M ||  ||a ||  ||n ||
||__||  ||__||  ||__||  ||________________||  ||__||  ||__||  ||__||
|/__\|  |/__\|  |/__\|  |/________________\|  |/__\|  |/__\|  |/__\|

*/

#include <iostream>
#include <chrono>
#include <vector>
#include <algorithm>
#include <cmath>
#include <map>


#define maxn 200005
#define maxlog 20
#define INF 1000000010
#define LINF 1000000000000000005
#define endl '\n'
#define pb(x) push_back(x)
#define X first
#define Y second
#define control cout<<"passed"<<endl;

using namespace std;


typedef long long ll;
typedef pair <ll , ll> pll;
typedef pair <int , int> pii;
typedef long double ld;
typedef unsigned long long ull;




map <int , int> br[maxn];
int n , r , q;
vector <int> v[maxn];
int color[maxn];


void dfs(int node , int par)
{
    for(auto& nb : v[node])
    {
        if(nb == par)
            continue;

        dfs(nb , node);
        br[node][color[nb]]++;
        for(auto& e : br[nb])
            br[node][e.X] += e.Y;

    }
}






void read()
{
    cin >> n >> r >> q;

    for(int i = 1; i <= n; i++)
    {
        if(i == 1)
        {
            cin >> color[i];
            continue;
        }

        int x;
        cin >> x >> color[i];

        v[x].pb(i);
        v[i].pb(x);
    }

    dfs(1 , 0);

    int x , y;
    for(int i = 1; i <= q; i++)
    {
        cin >> x >> y;
        int ans = 0;
        for(int i = 1; i <= n; i++)
            if(color[i] == x)
                ans += br[i][y];
        cout << ans << endl;
        cout << flush;
    }
}










int main()
{

/**#ifdef ONLINE_JUDGE
    freopen("input.in", "r", stdin);
    freopen("output.out", "w", stdout);
#endif*/

    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);

    ///startT = std::chrono::high_resolution_clock::now();

    read();


    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 14936 KB Output is correct
2 Correct 3 ms 14936 KB Output is correct
3 Correct 3 ms 14936 KB Output is correct
4 Correct 5 ms 15400 KB Output is correct
5 Correct 9 ms 15704 KB Output is correct
6 Correct 26 ms 21880 KB Output is correct
7 Correct 25 ms 17488 KB Output is correct
8 Correct 37 ms 19792 KB Output is correct
9 Correct 207 ms 82252 KB Output is correct
10 Correct 159 ms 34164 KB Output is correct
11 Correct 362 ms 67208 KB Output is correct
12 Runtime error 159 ms 131072 KB Execution killed with signal 9
13 Correct 448 ms 64860 KB Output is correct
14 Correct 1058 ms 120244 KB Output is correct
15 Runtime error 149 ms 131072 KB Execution killed with signal 9
# 결과 실행 시간 메모리 Grader output
1 Runtime error 155 ms 131072 KB Execution killed with signal 9
2 Runtime error 221 ms 131072 KB Execution killed with signal 9
3 Runtime error 157 ms 131072 KB Execution killed with signal 9
4 Runtime error 176 ms 131072 KB Execution killed with signal 9
5 Runtime error 173 ms 131072 KB Execution killed with signal 9
6 Runtime error 170 ms 131072 KB Execution killed with signal 9
7 Runtime error 191 ms 131072 KB Execution killed with signal 9
8 Runtime error 168 ms 131072 KB Execution killed with signal 9
9 Runtime error 193 ms 131072 KB Execution killed with signal 9
10 Runtime error 173 ms 131072 KB Execution killed with signal 9
11 Runtime error 212 ms 131072 KB Execution killed with signal 9
12 Runtime error 213 ms 131072 KB Execution killed with signal 9
13 Runtime error 210 ms 131072 KB Execution killed with signal 9
14 Runtime error 212 ms 131072 KB Execution killed with signal 9
15 Runtime error 184 ms 131072 KB Execution killed with signal 9
16 Runtime error 180 ms 131072 KB Execution killed with signal 9
17 Runtime error 207 ms 131072 KB Execution killed with signal 9