Submission #1298249

#TimeUsernameProblemLanguageResultExecution timeMemory
1298249buzdiBitaro’s Party (JOI18_bitaro)C++17
14 / 100
2096 ms12344 KiB
#include <bits/stdc++.h> #define ll long long using namespace std; const int NMAX = 1e5; const int BSIZE = 316; int n, m, q; int v[NMAX + 1]; int dp[NMAX + 1]; vector<int> g[NMAX + 1], gt[NMAX + 1]; int solve_heavy(int t, int k) { fill(dp + 1, dp + t + 1, 0); for(int i = 1; i <= k; i++) { dp[v[i]] = -1; } for(int i = 1; i <= t; i++) { for(int j : gt[i]) { if(dp[j] != -1) { dp[i] = max(dp[i], dp[j] + 1); } } } return dp[t]; } int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n >> m >> q; for(int i = 1; i <= m; i++) { int a, b; cin >> a >> b; g[a].push_back(b); gt[b].push_back(a); } while(q--) { int t, k; cin >> t >> k; for(int i = 1; i <= k; i++) { cin >> v[i]; } cout << solve_heavy(t, k) << '\n'; // if(k > BSIZE) { // cout << solve_heavy() << '\n'; // } // else { // cout << solve_light() << '\n'; // } } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...