Submission #785394

#TimeUsernameProblemLanguageResultExecution timeMemory
785394andecaandeciSprinkler (JOI22_sprinkler)C++17
0 / 100
4061 ms27500 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; #define fi first #define se second #define pb push_back const int sez = 2e5+5; ll n,l; vector<int> adj1[sez], adj2[sez]; vector<ll> h(sez); int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin>>n>>l; for(int i=1;i<n;i++){ int u,v; cin>>u>>v; adj1[u].pb(v); adj2[u].pb(v); adj1[v].pb(u); adj2[v].pb(u); } for(int i=1;i<=n;i++) { cin>>h[i]; } // precomp adjs // for(int i=1;i<=n;i++){ // for(int j : adj1[i]){ // for(int k : adj1[j]){ // if(k != i) adj2[i].pb(k); // } // } // } // for(int i=1;i<=n;i++){ // cek aja // cout<<"::"<<i<<" = "; // for(int j: adj2[i]){ // cout<<j<<' '; // } // cout<<'\n'; // } int q; cin>>q; while(q--){ int op; cin>>op; if(op==1){ ll x, d, w; cin >> x >> d >> w; if(d==0) h[x]=h[x]*w%l; if(d==1){ h[x] = h[x]*w%l; for(int i : adj1[x]){ h[i] = h[i]*w%l; } } else if(d==2){ h[x] = h[x]*w%l; for(int i : adj2[x]){ h[i] = h[i]*w%l; } } } else{ int x; cin>>x; cout<<h[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...