#include #include #include #include #include using namespace std; int m; int n; bool visited[300005]; stacks; vectorgraph[300005]; vectorrev_graph[300005]; void dfs(int node){ visited[node]=true; for(int i=0; i cycles; void rev_dfs(int r_node){ visited[r_node]=true; cycles.push_back(r_node); for(int i=0; i> n; for(int i = 0; i < n; i++) { cin >> cost[i]; } cin >> m; for(int i=0; i>a>>b; a--; b--; graph[b].push_back(a); rev_graph[a].push_back(b); } memset(visited, false, sizeof visited); for(int i=0; i