Submission #785476

#TimeUsernameProblemLanguageResultExecution timeMemory
785476devariaotaSprinkler (JOI22_sprinkler)C++17
3 / 100
4080 ms17584 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; const ll MAXN = 2e5 + 5; ll n, l, q, val[MAXN]; vector<ll> adjl[MAXN]; bool visited[MAXN]; void update(ll now, ll kurang, ll weight) { val[now] *= weight % l; val[now] %= l; if (kurang == 0) { return ; } visited[now] = true; vector<ll> adjn = adjl[now]; for (int i = 0; i < adjn.size(); ++i) { ll nxt = adjn[i]; if (visited[nxt]) { continue ; } update(nxt, kurang-1, weight); } visited[now] = false; } int main(){ ios_base::sync_with_stdio(false); cin.tie(0); cin >> n >> l; for (int i = 1; i <= n-1; ++i) { ll tmpa, tmpb; cin >> tmpa >> tmpb; adjl[tmpa].push_back(tmpb); adjl[tmpb].push_back(tmpa); } for (int i = 1; i <= n; ++i) { cin >> val[i]; } cin >> q; while(q--) { ll type; cin >> type; if (type == 1) { ll x, d, w; cin >> x >> d >> w; update(x, d, w); } else { ll x; cin >> x; cout << val[x] << "\n"; } } return 0; }

Compilation message (stderr)

sprinkler.cpp: In function 'void update(ll, ll, ll)':
sprinkler.cpp:21:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   21 |   for (int i = 0; i < adjn.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...