제출 #1349128

#제출 시각아이디문제언어결과실행 시간메모리
1349128NValchanovBitaro’s Party (JOI18_bitaro)C++20
14 / 100
2093 ms6356 KiB
#include <iostream>
#include <vector>
#include <algorithm>
#include <set>

#define endl '\n'

using namespace std;

const int MAXN = 1e5 + 10;
const int MAXM = 2e5 + 10;
const int MAXQ = 1e3 + 10;
const int INF = 1e9 + 10;

int n, m, q;
vector < int > revadj[MAXN];
int dp[MAXN];

void read()
{
    cin >> n >> m >> q;

    for(int i = 1; i <= m; i++)
    {
        int u, v;
        cin >> u >> v;

        revadj[v].push_back(u);
    }

    for(int i = 1; i <= q; i++)
    {
        int t, k;
        cin >> t >> k;

        for(int j = 1; j <= n; j++)
        {
            dp[j] = 0;
        }
        
        for(int j = 1; j <= k; j++)
        {
            int s;
            cin >> s;

            dp[s] = -INF;
        }

        for(int u = 1; u <= n; u++)
        {
            for(int& v : revadj[u])
            {
                dp[u] = max(dp[u], dp[v] + 1);
            }
        }

        cout << max(-1, dp[t]) << endl;
    }
}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);

    read();

    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...