Submission #798673

#TimeUsernameProblemLanguageResultExecution timeMemory
798673yeysoSprinkler (JOI22_sprinkler)C++14
0 / 100
4056 ms16964 KiB
#include <bits/stdc++.h> using namespace std; int main(){ long long n, l; cin >> n >> l; vector<vector<long long>> adj(n, vector<long long>()); long long a, b; for(long long i = 0; i < n - 1; i ++){ cin >> a >> b; a -= 1; b -= 1; adj[a].push_back(b); adj[b].push_back(a); } vector<long long> heights(n, 0); long long z; for(long long i = 0; i < n; i ++){ cin >> z; heights[i] = z; } long long queries; cin >> queries; long long t; long long x, d, w; vector<long long> res; for(long long i = 0; i < queries; i ++){ cin >> t; if(t == 1){ cin >> x >> d >> w; x -= 1; queue<vector<long long>> q; q.push({0, x}); long long node, dist, parent; while(!q.empty()){ node = q.front()[1]; dist = q.front()[0]; parent = q.front()[2]; heights[node] *= w; heights[node] %= l; q.pop(); for(long long i = 0; i < adj[node].size(); i ++){ if(adj[node][i] != parent and dist < d){ q.push({dist + 1, adj[node][i], node}); } } } } else { cin >> x; res.push_back(heights[x-1]); } } for(long long i = 0; i < res.size(); i ++){ cout << res[i] << "\n"; } } /* g++ -std=gnu++17 -O2 -pipe -static -o joi joi.cpp 4 7 1 2 2 3 3 4 1 1 1 1 11 1 2 1 2 1 1 0 2 2 1 2 2 2 3 2 4 1 4 10 2 2 1 2 2 2 3 2 4 */

Compilation message (stderr)

sprinkler.cpp: In function 'int main()':
sprinkler.cpp:39:40: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   39 |                 for(long long i = 0; i < adj[node].size(); i ++){
      |                                      ~~^~~~~~~~~~~~~~~~~~
sprinkler.cpp:50:28: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   50 |     for(long long i = 0; i < res.size(); i ++){
      |                          ~~^~~~~~~~~~~~
#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...