Cod sursa(job #3259831)

Utilizator IleaIlea Bogdan Ilea Data 28 noiembrie 2024 08:18:02
Problema Arbore Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <bits/stdc++.h>

using namespace std;

const string file="arbore";
ifstream fin(file+".in");
ofstream fout(file+".out");
#define endl "\n"

vector<int> g[100001];
int sum[100001];
void dlc(int i, int pls)
{
    sum[i]+=pls;
    for (auto k:g[i])dlc(k, pls);
}
int main()
{
    int n, m;
    fin>>n>>m;
    for (int i=1; i<n; ++i){
        int x, y;
        fin>>x>>y;
        g[x].push_back(y);
    }
    while (m--){
        int c;
        fin>>c;
        if (c==1){
            int x, y;
            fin>>x>>y;
            dlc(x, y);
        } else {
            fin>>c;
            for (int i=1; i<=n; ++i){
                if (sum[i]==c){
                    fout<<i<<endl;
                    break;
                }
            }
        }
    }
    return 0;
}