Submission #900585

#TimeUsernameProblemLanguageResultExecution timeMemory
900585falazBitaro’s Party (JOI18_bitaro)C++17
0 / 100
40 ms8536 KiB
#include <bits/stdc++.h> using namespace std; #pragma GCC optimize ("O2,unroll-loops, Ofast") #pragma GCC optimize ("O2,unroll-loops, Ofast") #pragma GCC optimize ("Ofast") #pragma gcc optimize("Ofast") #pragma optimize(Ofast) #pragma GCC optimize ("Ofast,unroll-loops") #pragma GCC optimize("no-stack-protector,fast-math") #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx2,tune=native") #define endl '\n' //#define int long long #define F first #define S second const int N = 1e5 + 3, SQ = 400; int n, m, q, dis[N]; vector<int> radj[N]; queue<int> qu; bool mark[N]; vector<pair<int, int>> vec[N]; void bfs() { while(qu.size()) { int v = qu.front(); mark[v] = false; qu.pop(); for (auto u : radj[v]) if (dis[v] + 1 > dis[u]) { dis[u] = dis[v] + 1; if (!mark[u]) { qu.push(u); mark[u] = true; } } } } signed main(){ ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0); cin >> n >> m >> q; for (int i = 0; i < m; i++) { int v, u; cin >> v >> u; radj[u].push_back(v); } set<pair<int, int>> st; for (int i = 1; i <= n; i++) { if (radj[i].size() == 0) vec[i].push_back({i, 0}); else { for (auto v : radj[i]) { for (auto u : vec[v]) { if (dis[u.F] == 0) { dis[u.F] = u.S + 1; st.insert({dis[u.F], u.F}); } else if(dis[u.F] < u.S + 1) { st.erase({dis[u.F], u.F}); dis[u.F] = u.S + 1; st.insert({dis[u.F], u.F}); } if (st.size() > SQ) { int f = st.begin()->S; dis[f] = 0; st.erase(st.begin()); } } } while (st.size()) { int v = st.begin()->second, f = st.begin()->first; st.erase(st.begin()); vec[i].push_back({v, f}); dis[v] = 0; } vec[i].push_back({i, 0}); sort(vec[i].begin(), vec[i].end()); } } while (q--) { int t, y; cin >> t >> y; int c[y + 1]; c[y] = n + 1; for (int i = 0; i < y; i++) cin >> c[i]; if (y < SQ) { int p = 0, ans = -1; for (int i = 0; i < int32_t(vec[t].size()); i++) { while (c[p] < vec[t][i].F) p++; if (vec[t][i].F != c[p]) ans = max(vec[t][i].S, ans); } cout << ans << endl; } else { qu.push(t); bfs(); int p = 0, ans = -1; for (int i = 1; i <= t; i++) { while (c[p] < i) p++; if (i != c[p]) ans = max(ans, dis[i]); dis[i] = 0; } cout << ans << endl; } } }

Compilation message (stderr)

bitaro.cpp:7: warning: ignoring '#pragma gcc optimize' [-Wunknown-pragmas]
    7 | #pragma gcc optimize("Ofast")
      | 
bitaro.cpp:8: warning: ignoring '#pragma optimize ' [-Wunknown-pragmas]
    8 | #pragma optimize(Ofast)
      | 
bitaro.cpp:4:47: warning: bad option '-f Ofast' to pragma 'optimize' [-Wpragmas]
    4 | #pragma GCC optimize ("O2,unroll-loops, Ofast")
      |                                               ^
bitaro.cpp:5:47: warning: bad option '-f Ofast' to pragma 'optimize' [-Wpragmas]
    5 | #pragma GCC optimize ("O2,unroll-loops, Ofast")
      |                                               ^
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
   11 | #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx2,tune=native")
      |                                                                              ^
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
bitaro.cpp:11:78: warning: bad option '-f Ofast' to attri
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...