Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <cstdio>#include <cstdlib>#include <algorithm>#include <queue>#define N 110000#define M 510000using namespace std;int n,m,k,ne,y,ans,a[M],b[M],c[M],d[N],f[N],z[N];queue <int> q;int main() {scanf("%d%d%d",&n,&m,&k);for (int j=1; j<=k; j++){scanf("%d",&y);z[y]=1;}for (int j=1; j<=m; j++){scanf("%d%d",&a[j],&b[j]);c[j]=d[a[j]];d[a[j]]=j;f[b[j]]++;}for (int j=1; j<=n; j++)if (f[j]==0)q.push(j);while (!q.empty()){ne=d[q.front()];while (ne!=0){