Submission #422285

#TimeUsernameProblemLanguageResultExecution timeMemory
422285APROHACK친구 (IOI14_friend)C++14
35 / 100
14 ms6728 KiB
#include "friend.h" #include <bits/stdc++.h> using namespace std; #define PB push_back #define F first #define S second vector<int>ady[100001]; //bool recorrido[100001]; //bool prendido[100001]; int mem[1001][2]; vector<int>conf; // Find out best sample long long dparbol(int nod, bool cogialanterior){ if(mem[nod][cogialanterior]!=-1)return mem[nod][cogialanterior]; long long rta=0, rta2=conf[nod]; if(cogialanterior){ for(auto i: ady[nod]){ rta+=dparbol(i, false); } return mem[nod][cogialanterior]=rta; }else{ for(auto i: ady[nod]){ rta+=dparbol(i, false); } for(auto i: ady[nod]){ rta2+=dparbol(i, true); } return mem[nod][cogialanterior]=max(rta, rta2); } } int findSample(int n,int confidence[],int host[],int protocol[]){ int ans=10; //memset(prendido, false, sizeof prendido); //memset(recorrido, false, sizeof recorrido); memset(mem, -1, sizeof mem); for(int i = 0 ; i < n ; i++){ conf.PB(confidence[i]); } int cass=0; for(int i = 1 ; i < n ; i++){ if(protocol[i]==0){//IAmYourFriend ady[host[i]].PB(i); }else if(protocol[i]==1){//MyFriendsAreYourFriends for(auto j:ady[host[i]]){ ady[j].PB(i); ady[i].PB(j); } cass=1; }else{ for(auto j:ady[host[i]]){ ady[j].PB(i); ady[i].PB(j); } ady[host[i]].PB(i); ady[i].PB(host[i]); cass=2; } } /* for(int i = 0 ; i < n ; i++){ for(int j = 0 ; j < ady[i].size() ; j++){ cout<<ady[i][j]<<" "; } cout<<endl; }*/ long long sum=0; int mx=0; for(int i = 0 ; i < n ; i++){ sum+=confidence[i]; mx=max(confidence[i], mx); } if(cass==1){ return sum; }else if(cass==2){ return mx; }else{//arbolardo return dparbol(0, false); } //return dp(1, false); }

Compilation message (stderr)

friend.cpp: In function 'int findSample(int, int*, int*, int*)':
friend.cpp:32:6: warning: unused variable 'ans' [-Wunused-variable]
   32 |  int ans=10;
      |      ^~~
#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...