Submission #890632

#TimeUsernameProblemLanguageResultExecution timeMemory
890632MinaRagy06Sprinkler (JOI22_sprinkler)C++17
3 / 100
4059 ms24572 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long const int N = 200'005; vector<int> adj[N]; int mod; int a[N]; void dfs(int i, int mx, int w, int d = 0, int par = 0) { a[i] = 1ll * a[i] * w % mod; for (auto nxt : adj[i]) { if (nxt == par || d + 1 > mx) continue; dfs(nxt, mx, w, d + 1, i); } } int main() { ios_base::sync_with_stdio(0), cin.tie(0); int n; cin >> n >> mod; for (int i = 1, u, v; i < n; i++) { cin >> u >> v; adj[u].push_back(v); adj[v].push_back(u); } for (int i = 1; i <= n; i++) { cin >> a[i]; } int m; cin >> m; while (m--) { int t; cin >> t; if (t == 1) { int x, d, w; cin >> x >> d >> w; dfs(x, d, w); } else { int x; cin >> x; cout << a[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...