Submission #1287386

#TimeUsernameProblemLanguageResultExecution timeMemory
1287386duckindogSprinkler (JOI22_sprinkler)C++20
3 / 100
4094 ms15792 KiB
#include <bits/stdc++.h> using namespace std; const int N = 200'000 + 10; int n, L, q; vector<int> ad[N]; int h[N]; void dfs(int u, int p, int d, int w) { if (d < 0) return; h[u] = 1ll * h[u] * w % L; for (const auto& v : ad[u]) { if (v == p) continue; dfs(v, u, d - 1, w); } } int32_t main() { cin.tie(0)->sync_with_stdio(0); cin >> n >> L; for (int i = 1; i < n; ++i) { int u, v; cin >> u >> v; ad[u].push_back(v); ad[v].push_back(u); } for (int i = 1; i <= n; ++i) cin >> h[i]; cin >> q; while (q--) { int type; cin >> type; if (type == 1) { int x, d, w; cin >> x >> d >> w; dfs(x, -1, d, w); } if (type == 2) { int x; cin >> x; cout << h[x] << "\n"; } } }
#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...