Submission #1117565

#TimeUsernameProblemLanguageResultExecution timeMemory
1117565Zero_OPSprinkler (JOI22_sprinkler)C++14
3 / 100
4064 ms25020 KiB
#include <bits/stdc++.h>

using namespace std;

int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);

    int N, L;
    cin >> N >> L;
    vector<vector<int>> adj(N);
    for(int i = 1; i < N; ++i){
        int u, v;
        cin >> u >> v;
        --u, --v;
        adj[u].emplace_back(v);
        adj[v].emplace_back(u);
    }

    vector<int> H(N);
    for(int i = 0; i < N; ++i) cin >> H[i];

    function<void(int, int, int, int)> dfs = [&](int u, int p, int limit, int coef){
        H[u] = 1LL * H[u] * coef % L;
        if(limit){
            for(auto v : adj[u]) if(v != p){
                dfs(v, u, limit - 1, coef);
            }
        }
    };

    int Q;
    cin >> Q;
    while(Q--){
        int type;
        cin >> type;
        if(type == 1){
            int x, d, w;
            cin >> x >> d >> w;
            --x;
            dfs(x, -1, d, w);
        } else{
            int x; cin >> x;
            --x;
            cout << H[x] << '\n';
        }
    }

    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...