제출 #874133

#제출 시각아이디문제언어결과실행 시간메모리
874133kxd친구 (IOI14_friend)C++17
35 / 100
1 ms600 KiB
#include <bits/stdc++.h> #include "friend.h" //#define DEBUG 1106 //#define int long long #define ll long long #define ld long double #define pb push_back #define p_q priority_queue #define m_p make_pair #define pii pair<int,int> #define endl '\n' #define INIT ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); #define FOR(i,a,b) for(int i = a; i <= b; i++) #define forn(i,n) for (int i = 0; i < n; i++) #define forn1(i,n) for (int i = 1; i <= n; i++) #define all(x) x.begin(),x.end() #define ft first #define sd second #define lowbit(x) (x&(-x)) #define chmax(x,y) x=max(x,y) #define chmin(x,y) x=min(x,y) using namespace std; vector<int> G[1106]; pii dfs(int confidence[], int x) { pii p = {confidence[x], 0}; for(auto u: G[x]) { pii child = dfs(confidence, u); p.ft += child.sd; p.sd += max(child.ft,child.sd); } return p; } int findSample(int n, int confidence[], int host[], int protocol[]) { if(protocol[1]==0) { forn1(i,n-1) { G[host[i]].pb(i); } pii p = dfs(confidence, 0); return max(p.ft, p.sd); } int ret = 0; forn(i,n) { if(protocol[1]==1) ret += confidence[i]; else ret = max(ret,confidence[i]); } return ret; }
#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...