Submission #785526

#TimeUsernameProblemLanguageResultExecution timeMemory
785526amukkalirSprinkler (JOI22_sprinkler)C++17
3 / 100
4059 ms16524 KiB
#include "bits/stdc++.h" using namespace std; typedef long long ll; #define pii pair<int,int> #define fi first #define se second #define pb push_back const int N = 2e5; long long h[N+5]; int n, l; vector<int> adj[N+5]; void dfs (int u, int prv, long long w, int dst) { if (dst < 0) return; h[u] *= w; h[u] %= l; //cerr << u << " lalala " << h[u] << endl; for (int v : adj[u]) { if (v==prv) continue; dfs(v, u, w, dst-1); } } void solve() { cin >> n >> l; for(int i=1; i<n; i++) { int a, b; cin >> a >> b; adj[a].pb(b); adj[b].pb(a); } for (int i=1; i<=n; i++) { cin >> h[i]; } int q; cin >> q; while (q--) { int tp; cin >> tp; if (tp == 1) { int x, d, w; cin >> x >> d >> w; dfs(x, 0, w, d); } else { int x; cin >> x; cout << h[x] << endl; } } } signed main () { int t=1; //scanf("%d", &t); while(t--) { solve(); } }
#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...