Submission #874059

#TimeUsernameProblemLanguageResultExecution timeMemory
874059YongXinFriend (IOI14_friend)C++14
11 / 100
1096 ms65536 KiB
#include <bits/stdc++.h> using namespace std; int dp(int n,int confidence[],vector<int>adj[],bool cant[],int i){ if(i==n)return 0; if(cant[i])return dp(n,confidence,adj,cant,i+1); bool choose[n]; for(int j=0;j<n;++j)choose[j]=cant[j]; for(int j=0;j<adj[i].size();++j)choose[adj[i][j]]=true; int x=dp(n,confidence,adj,choose,i+1)+confidence[i],y=dp(n,confidence,adj,cant,i+1); return max(dp(n,confidence,adj,choose,i+1)+confidence[i],dp(n,confidence,adj,cant,i+1)); } int findSample(int n,int confidence[],int host[],int protocol[]){ ios_base::sync_with_stdio(false);cin.tie(NULL); ++n; vector<int>adj[n]; for(int i=1;i<n;++i){ if(protocol[i]!=1){ adj[i].push_back(host[i]); adj[host[i]].push_back(i); } if(protocol[i]!=0)for(int j=0;j<adj[host[i]].size();++j){ adj[i].push_back(adj[host[i]][j]); adj[adj[host[i]][j]].push_back(i); } } bool cant[n]; memset(cant,0,n); return dp(n,confidence,adj,cant,0); }

Compilation message (stderr)

friend.cpp: In function 'int dp(int, int*, std::vector<int>*, bool*, int)':
friend.cpp:8:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    8 |     for(int j=0;j<adj[i].size();++j)choose[adj[i][j]]=true;
      |                 ~^~~~~~~~~~~~~~
friend.cpp:9:9: warning: unused variable 'x' [-Wunused-variable]
    9 |     int x=dp(n,confidence,adj,choose,i+1)+confidence[i],y=dp(n,confidence,adj,cant,i+1);
      |         ^
friend.cpp:9:57: warning: unused variable 'y' [-Wunused-variable]
    9 |     int x=dp(n,confidence,adj,choose,i+1)+confidence[i],y=dp(n,confidence,adj,cant,i+1);
      |                                                         ^
friend.cpp: In function 'int findSample(int, int*, int*, int*)':
friend.cpp:21:40: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   21 |         if(protocol[i]!=0)for(int j=0;j<adj[host[i]].size();++j){
      |                                       ~^~~~~~~~~~~~~~~~~~~~
#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...