This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "friend.h"
#include<bits/stdc++.h>
using namespace std;
const int maxn=100000+10;
struct node{
int w,vas;
node(){
w=vas=0;
}
set<int>adj,revadj;
};
node alln[maxn];
int nem[maxn],miad[maxn],jam[maxn],te=0;
void dorost(int v,int w){
nem[v]=te;
miad[v]=te+1;
jam[v]=te+2;
alln[miad[v]].w=w;
alln[jam[v]].adj.insert(nem[v]);
alln[jam[v]].adj.insert(miad[v]);
alln[jam[v]].vas=1;
te+=3;
}
void comp(int v,int u,int val,int no){
if(no==0){
dorost(v,val);
alln[miad[u]].adj.insert(nem[v]);
alln[nem[u]].adj.insert(jam[v]);
}else if(no==1){
}else{
}
}
void calc(int u){
if(alln[u].vas==1){
for(auto x:alln[u].adj){
calc(x);
alln[u].w=max(alln[u].w,alln[x].w);
}
}else{
for(auto x:alln[u].adj){
calc(x);
alln[u].w+=alln[x].w;
}
}
}
int findSample(int n,int confidence[],int host[],int protocol[]){
dorost(0,confidence[0]);
for(int i=1;i<n;i++){
comp(i,host[i],confidence[i],protocol[i]);
}
calc(jam[0]);
return alln[jam[0]].w;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |