제출 #1338398

#제출 시각아이디문제언어결과실행 시간메모리
1338398vyaductBitaro’s Party (JOI18_bitaro)C++20
14 / 100
2095 ms12072 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

#define all(v) (v).begin(), (v).end()
#define F first
#define S second

const int mxN = 100'000;
const int INF = 1e9;
vector<int> G[mxN];
vector<int> iG[mxN];
int dp[mxN];

void solve(){
  int n,m,q; cin>>n>>m>>q;
  for (int i=0;i<m;i++){
    int s, e; cin>>s>>e; 
    s--,e--;
    G[s].push_back(e);
    iG[e].push_back(s);
  }

  while(q--){
    int T, Y;
    cin>>T>>Y; T--;
    for (int i=0;i<n;i++) dp[i]=0;
    for (int i=0;i<Y;i++) {
      int t; cin>>t; t--;
      dp[t] = -INF;
    }
    for (int v=0;v<n;v++){
      for (int u : iG[v]){
        dp[v] = max(dp[v], dp[u]+1);
      }
    }
    cout << max(-1, dp[T]) << endl;
  }
}
 
int main(){
  ios::sync_with_stdio(false);
  cin.tie(0);
  int tt=1;
  // cin>>tt;
  while(tt--) solve();
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...