제출 #1228969

#제출 시각아이디문제언어결과실행 시간메모리
1228969Double_SlashSprinkler (JOI22_sprinkler)C++20
3 / 100
4093 ms15740 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; int n, L, q, h[200001]; vector<int> adj[200001]; void dfs(int i, int d, int w, int p) { h[i] = (ll) h[i] * w % L; if (not d) return; for (int j: adj[i]) if (j != p) dfs(j, d - 1, w, i); } int main() { cin >> n >> L; for (int i = n; --i;) { int a, b; cin >> a >> b; adj[a].emplace_back(b); adj[b].emplace_back(a); } for (int i = 1; i <= n; ++i) cin >> h[i]; cin >> q; while (q--) { int t, x; cin >> t >> x; if (t == 1) { int d, w; cin >> d >> w; dfs(x, d, w, 0); } else cout << h[x] << endl; } }
#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...