#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int main() {
ios::sync_with_stdio(false); cin.tie(nullptr);
int n, m, q;
cin >> n >> m >> q;
vector<int> E[n + 1];
while (m--) {
int x, y;
cin >> x >> y;
E[x].push_back(y);
E[y].push_back(x);
}
while (q--) {
int T, Y;
cin >> T >> Y;
vector<bool> vis(T + 1);
while (Y--) {
int x;
cin >> x;
if (x <= T) vis[x] = true;
}
int mx = -1;
vector<int> dp(T + 1, -1); dp[T] = 0;
for (int i = T; i > 0; i--) {
for (auto j : E[i])
if (j <= T && ~dp[j]) dp[i] = max(dp[i], dp[j] + 1);
if (!vis[i]) mx = max(mx, dp[i]);
}
cout << mx << '\n';
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |