답안 #1024499

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1024499 2024-07-16T06:08:47 Z Ice_man Regions (IOI09_regions) C++14
13 / 100
1136 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 4 ms 14936 KB Output is correct
3 Correct 4 ms 14936 KB Output is correct
4 Correct 6 ms 15192 KB Output is correct
5 Correct 8 ms 15640 KB Output is correct
6 Correct 30 ms 22104 KB Output is correct
7 Correct 35 ms 17484 KB Output is correct
8 Correct 45 ms 19792 KB Output is correct
9 Correct 241 ms 82540 KB Output is correct
10 Correct 185 ms 34120 KB Output is correct
11 Correct 414 ms 67688 KB Output is correct
12 Runtime error 202 ms 131072 KB Execution killed with signal 9
13 Correct 569 ms 65108 KB Output is correct
14 Correct 1136 ms 120096 KB Output is correct
15 Runtime error 154 ms 131072 KB Execution killed with signal 9
# 결과 실행 시간 메모리 Grader output
1 Runtime error 161 ms 131072 KB Execution killed with signal 9
2 Runtime error 209 ms 131072 KB Execution killed with signal 9
3 Runtime error 181 ms 131072 KB Execution killed with signal 9
4 Runtime error 186 ms 131072 KB Execution killed with signal 9
5 Runtime error 180 ms 131072 KB Execution killed with signal 9
6 Runtime error 204 ms 131072 KB Execution killed with signal 9
7 Runtime error 230 ms 131072 KB Execution killed with signal 9
8 Runtime error 190 ms 131072 KB Execution killed with signal 9
9 Runtime error 237 ms 131072 KB Execution killed with signal 9
10 Runtime error 223 ms 131072 KB Execution killed with signal 9
11 Runtime error 228 ms 131072 KB Execution killed with signal 9
12 Runtime error 211 ms 131072 KB Execution killed with signal 9
13 Runtime error 261 ms 131072 KB Execution killed with signal 9
14 Runtime error 244 ms 131072 KB Execution killed with signal 9
15 Runtime error 266 ms 131072 KB Execution killed with signal 9
16 Runtime error 209 ms 131072 KB Execution killed with signal 9
17 Runtime error 249 ms 131072 KB Execution killed with signal 9