precisamente mi sbaglia un task nel subtask 5 e due nel subtask 3 non capisco l errore
using namespace std;
int m,n,p;
stack<int>ok;
vector<int>graph[(int)1e5+1];
long double vet[(int)1e5+1];
int topv[(int)1e5+1],vis[(int)1e5+1];
void topo(int node){
for(int x:graph[node]){
vis[x]--;
if(vis[x]==0){
topo(x);
}
}
ok.push(node);
}
int main(){
cin>>n>>m>>p;
for(int i=0;i<m;i++){
int da,a;
cin>>da>>a;
vis[a]++;
graph[da].push_back(a);
}
topo(0);
ok.push(0);
for(int i=0;i<n;i++){
topv[i]=ok.top();
ok.pop();
}
vet[0]=1.0;
for(int i=0;i<n;i++){
if(graph[topv[i]].size()>0){
long double okr=vet[topv[i]]/((long double)graph[topv[i]].size());
vet[topv[i]]=0;
for(int x:graph[topv[i]]){
vet[x]+=okr;
}
}
}
cout<<max_element(vet,vet+n)-vet;
}