제출 #96092

#제출 시각아이디문제언어결과실행 시간메모리
96092alishahali1382Bitaro’s Party (JOI18_bitaro)C++14
14 / 100
230 ms14612 KiB
#include <bits/stdc++.h> #if defined(__GNUC__) #pragma GCC optimize ("Ofast") #endif using namespace std; typedef long long ll; typedef long double ld; typedef pair<int, int> pii; typedef pair<pii, int> piii; typedef pair<ll, ll> pll; #define debug(x) cerr<<#x<<'='<<x<<endl; #define debugp(x) cerr<<#x<<"= {"<<x.first<<", "<<x.second<<"}"<<endl; #define all(x) x.begin(), x.end() #define pb push_back #define kill(x) return cout<<x<<'\n', 0; #define SZ(x) ((int) x.size()) const ld eps=1e-7; const int inf=1000000010; const ll INF=10000000000000010LL; const int mod = 1000000007; const int MAXN = 100010, SQ=320; int n, m, q, u, v, x, y, t, a, b, ans; vector<pii> good[MAXN]; int dp[MAXN]; vector<int> G[MAXN]; void merg(int a, int b){ vector<pii> tmp; int sz=min(SQ+1, SZ(good[a])+SZ(good[b])-2); for (int i=0, j=0; i+j<sz;){ pii pp={good[b][j].first+1, good[b][j].second}; if (good[a][i]>pp) tmp.pb(good[a][i++]); else tmp.pb(pp), j++; } good[a].clear(); for (pii p:tmp) good[a].pb(p); } void bigquery(){ while (y--){ cin>>x; dp[x]=-inf; } for (int i=1; i<=v; i++) for (int j:G[i]) dp[i]=max(dp[i], dp[j]+1); if (dp[v]<0) dp[v]=-1; cout<<dp[v]<<'\n'; memset(dp, 0, sizeof(dp)); } int smallquery(){ set<int> st; while (y--){ cin>>x; st.insert(x); } for (pii p:good[v]){ if (st.count(p.second)) continue ; if (p.first<0) kill(-1); kill(p.first); } cout<<"-1\n"; } void query(){ cin>>v>>y; if (y>=SQ-10) bigquery(); else smallquery(); } int main(){ ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); //freopen("input.txt", "r", stdin); //freopen("output.txt", "w", stdout); cin>>n>>m>>q; while (m--){ cin>>u>>v; G[v].pb(u); } for (int i=1; i<=n; i++){ good[i].pb({0, i}); good[i].pb({-inf, 0}); for (int j:G[i]) merg(i, j); } while (q--) query(); return 0; }

컴파일 시 표준 에러 (stderr) 메시지

bitaro.cpp: In function 'int smallquery()':
bitaro.cpp:64:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...