Submission #1095947

#TimeUsernameProblemLanguageResultExecution timeMemory
1095947mohammad86Bitaro’s Party (JOI18_bitaro)C++17
14 / 100
630 ms419236 KiB
// https://oj.uz/problem/view/JOI18_bitaro #include <bits/stdc++.h> using namespace std; typedef pair<int, int> pii; const int maxn = 1e5 + 100; const int sqrtn = 320; int n, m, q; vector<int> adj[maxn]; vector<int> readj[maxn]; vector<pii> fv[maxn]; int pointer[maxn]; bool mark[maxn]; int main () { ios_base::sync_with_stdio(false); cin >> n >> m >> q; for (int i = 1; i <= m; i++) { int s, e; cin >> s >> e; adj[s].push_back(e); readj[e].push_back(s); } for (int i = 1; i <= n; i++) { for (int w = 0; w < sqrtn; w++) { int maximum = -1; int v = -1; int nv = -1; for (int j : readj[i]) { if (fv[j].size() > pointer[j]) { if (fv[j][pointer[j]].first +1 > maximum) { maximum = fv[j][pointer[j]].first +1; v = fv[j][pointer[j]].second; nv = j; } } } if (v == -1) break; fv[i].push_back({maximum, v}); pointer[nv]++; } for (int j : readj[i]) pointer[j] = 0; fv[i].push_back({0, i}); } for (int i = 1; i <= q; i++) { int t, y; cin >> t >> y; vector<int> tmp; for (int i = 0; i < y; i++) { int c; cin >> c; tmp.push_back(c); mark[c] = true; } if (y < sqrtn) { bool is_find = false; for (pii i : fv[t]) { if (!mark[i.second]) { cout << i.first << endl; is_find = true; break; } } if (!is_find) { cout << -1 << endl; } } else { vector<int> dis(t+2, -1); int maximum = -1; dis[t] = 0; if (!mark[t]) { maximum = 0; } for (int i = t-1; i >= 1; i--) { dis[i] = -1; for (int j : adj[i]) { if (j > t || dis[j] == -1) { continue; } dis[i] = max(dis[i], dis[j] +1); } if (!mark[i]) maximum = max(maximum, dis[i]); } cout << maximum << endl; } for (int i = 0; i < y; i++) { mark[tmp[i]] = false; } } }

Compilation message (stderr)

bitaro.cpp: In function 'int main()':
bitaro.cpp:34:34: warning: comparison of integer expressions of different signedness: 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   34 |                 if (fv[j].size() > pointer[j]) {
      |                     ~~~~~~~~~~~~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...