Submission #785639

#TimeUsernameProblemLanguageResultExecution timeMemory
785639devariaotaSprinkler (JOI22_sprinkler)C++17
0 / 100
4058 ms17420 KiB
#include <bits/stdc++.h>
#define int long long
#define fi first
#define se second
#define keish                             ios_base::sync_with_stdio(0);       cin.tie(0); cout.tie(0)
      
using namespace std;

int n, l, q, u, v, t, x, d, w, lim;

signed main(){
      keish;
      cin >> n >> l;
      vector<vector<int>> e(n);
      for(int i = 1; i < n; i++){
            cin >> u >> v; u--, v--;
            e[u].push_back(v);
            e[v].push_back(u);
      }

      vector<int> a(n);
      for(auto &x : a) cin >> x;

      function<void(int, int)> dfs = [&](int u, int d){
            if(d > lim) return;
            for(auto v : e[u]){
                  (a[v] *= w) %= l;
                  dfs(v, d + 1);
            }
      };

      cin >> q;
      while(q--){
            cin >> t;
            if(t == 1){
                  cin >> x >> lim >> w; x--;
                  (a[x] *= w) %= l;
                  if(lim > 0){
                        dfs(x, 1);
                  }
            }else{      
                  cin >> x; x--;
                  cout << a[x] << '\n';
            }
      }
}     
#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...