Submission #785521

#TimeUsernameProblemLanguageResultExecution timeMemory
785521makanhuliaSprinkler (JOI22_sprinkler)C++17
3 / 100
107 ms12828 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define ull unsigned long long #define ld long double #define fi first #define se second vector<int> adj[200005]; ll a[200005], cnt[200005], l; void dfs1(int p, int x, int c, ll val) { a[x] = (a[x] * val) % l; if (c == 0) return; for (auto u : adj[x]) { if (u == p) continue; dfs1(x, u, c - 1, val); } } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int n; cin >> n >> l; for (int i = 0; i < n - 1; i++) { int u, v; cin >> u >> v; adj[u].push_back(v); adj[v].push_back(u); } for (int i = 1; i <= n; i++) cin >> a[i]; int query; cin >> query; if (n <= 2000 and query <= 2000) { while (query--) { int type; cin >> type; if (type == 1) { int x, d; ll w; cin >> x >> d >> w; dfs1(0, x, d, w); } else { int x; cin >> x; cout << a[x] << "\n"; } } } } /* 4 7 1 2 2 3 3 4 1 1 1 1 3 1 2 1 2 1 1 0 2 2 1 */
#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...