제출 #238368

#제출 시각아이디문제언어결과실행 시간메모리
238368oscarsierra12친구 (IOI14_friend)C++14
27 / 100
10 ms6016 KiB
#include "friend.h" #include <bits/stdc++.h> #define pb push_back using namespace std ; // Find out best sample const int N = 100010 ; int confi[N] ; int dp [N][2]; vector <int> G[N][2] ; int go ( int u, int flag ) { auto &rf = dp[u][flag]; if ( rf!=-1 ) return rf ; if ( flag ) { ///take int x = confi[u] ; for ( auto v:G[u][0] ) x += go( v, 0 ) ; for ( auto v:G[u][1] ) x += go( v, 1 ) ; rf = x ; ///dont take x = 0 ; for ( auto v:G[u][0] ) x += go(v,1 ) ; for ( auto v:G[u][1] ) x += go(v, 1) ; rf = max ( rf, x ) ; } else { int x = 0 ; for ( auto v:G[u][1] ) x += go ( v, 0 ) ; for ( auto v:G[u][0] ) x += go ( v, 1 ) ; rf = x ; } return rf ; } int findSample(int n,int confidence[],int host[],int protocol[]){ for ( int i = 0 ; i < n ; ++i ) confi[i] = confidence[i] ; for ( int i = 1 ; i < n ; ++i ) G[host[i]][protocol[i]].push_back ( i ) ; memset ( dp,-1,sizeof dp ) ; return go(0,1) ; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...