Submission #785300

#TimeUsernameProblemLanguageResultExecution timeMemory
785300christinelynnSprinkler (JOI22_sprinkler)C++17
3 / 100
4086 ms19420 KiB
# include <bits/stdc++.h> # define int long long # define vi vector<int> # define pb push_back # define pii pair<int, int> # define fi first # define se second # define endl '\n' # define jess ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); using namespace std; int n, l, h[200005], qq, x, d, w; vi adj[200005]; void bfs(int start) { queue<pair<pii, int>> q; q.push({{start, 0}, 0}); while(!q.empty()) { int cur=q.front().fi.fi; int dis=q.front().fi.se; int par=q.front().se; q.pop(); for(int i : adj[cur]) { if(i==par) continue; h[i]*=w; h[i]%=l; // cout << "dis " << dis << " " << d << endl; if((dis+1)>=d) continue; q.push({{i, dis+1}, cur}); } } } void solve() { cin >> n >> l; for(int i=1; i<n; i++) { int u, v; cin >> u >> v; adj[u].pb(v); adj[v].pb(u); } for(int i=1; i<=n; i++) { cin >> h[i]; } cin >> qq; for(int i=1; i<=qq; i++) { int tk; cin >> tk; if(tk==1) { cin >> x >> d >> w; h[x]*=w; h[x]%=l; if(d==0) continue; bfs(x); } else { cin >> x; cout << h[x] << endl; } } } signed main() { jess; 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...