Submission #785398

#TimeUsernameProblemLanguageResultExecution timeMemory
785398christinelynnSprinkler (JOI22_sprinkler)C++17
3 / 100
4078 ms19080 KiB
#include<bits/stdc++.h> using namespace std; #define ll long long #define fi first #define se second #define endl "\n" #define pii pair<ll,ll> #define pb push_back #define vi vector<ll> #define pque priority_queue #define pqueg priority_queue<ll,vector<ll>,greater<ll>> #define que queue<ll> #define FOR(m,i,n) for(int i=(m); i<=(n); i++) #define FORM(m,i,n) for(int i=(m); i>=(n); i--) ll n,u,v,t,event,c,l; ll a[200200]; ll kali,pulau,jarak; vector<ll> adj[200200]; bool vis[200200]; ll dist[200200]; queue<ll> q; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> n >> l; FOR(1,i,n-1) { cin >> u >> v; adj[u].pb(v); adj[v].pb(u); } FOR(1,i,n) { cin >> a[i]; } cin >> t; while(t--) { cin >> event; if(event == 1) { cin >> pulau >> jarak >> kali; q.push(pulau); a[pulau] *= kali; a[pulau] %= l; vis[pulau] = true; while(!q.empty()) { ll x = q.front(); q.pop(); if(dist[x] == jarak) continue; for(auto i : adj[x]) { if(!vis[i]) { dist[i] = dist[x] + 1; vis[i] = true; a[i] *= kali; a[i] %= l; q.push(i); } } } FOR(1,i,n) { vis[i] = false; dist[i] = 0; } // FOR(1,i,n) { // cout << i << " : " << a[i] << endl; // } // cout << endl; } else { cin >> c; cout << a[c]%l << endl; } } }
#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...