Submission #785637

#TimeUsernameProblemLanguageResultExecution timeMemory
785637devariaotaSprinkler (JOI22_sprinkler)C++17
3 / 100
4072 ms19884 KiB
#include <bits/stdc++.h> using namespace std; #define int long long vector<int> adj[200005]; bool vis[200005]; int arr[200005]; int n, l; int proses(int x, int d, int w) { queue<pair<int, int>> q; vector<int> v; arr[x] *= w; arr[x] %= l; vis[x] = true; v.push_back(x); for(int i = 0; i < adj[x].size(); i++) { vis[adj[x][i]] = true; v.push_back(adj[x][i]); q.push({adj[x][i], 1}); } if(d > 0) { while(q.size() > 0) { int a = q.front().first; int b = q.front().second; arr[a] *= w; arr[a] %= l; if(b < d) { for(int i = 0; i < adj[a].size(); i++) { if(vis[adj[a][i]] == false) { vis[adj[a][i]] = true; v.push_back(adj[a][i]); q.push({adj[a][i], b + 1}); } } } q.pop(); } } for(int i = 0; i < v.size(); i++) { vis[v[i]] = false; } return 0; } signed main() { ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); cin >> n >> l; for(int i = 0; i < n - 1; i++) { int a, b; cin >> a >> b; adj[a].push_back(b); adj[b].push_back(a); } for(int i = 1; i <= n; i++) { cin >> arr[i]; } int q; cin >> q; while(q--) { int a, x; cin >> a >> x; if(a == 2) { cout << arr[x] << "\n"; } else { int d, w; cin >> d >> w; int zzz = proses(x, d, w); } } }

Compilation message (stderr)

sprinkler.cpp: In function 'long long int proses(long long int, long long int, long long int)':
sprinkler.cpp:15:20: 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]
   15 |   for(int i = 0; i < adj[x].size(); i++) {
      |                  ~~^~~~~~~~~~~~~~~
sprinkler.cpp:28:26: 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]
   28 |         for(int i = 0; i < adj[a].size(); i++) {
      |                        ~~^~~~~~~~~~~~~~~
sprinkler.cpp:40:20: 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]
   40 |   for(int i = 0; i < v.size(); i++) {
      |                  ~~^~~~~~~~~~
sprinkler.cpp: In function 'int main()':
sprinkler.cpp:69:11: warning: unused variable 'zzz' [-Wunused-variable]
   69 |       int zzz = proses(x, d, w);
      |           ^~~
#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...