Submission #903103

#TimeUsernameProblemLanguageResultExecution timeMemory
903103Muhammad_AneeqFriend (IOI14_friend)C++17
27 / 100
1068 ms35432 KiB
#include <vector> #include <iostream> #include <set> #include "friend.h" using namespace std; int const N=2000; int ed[N][N]={}; int vis[N]={}; int ans=0; int nn; int val[N]={}; set<int>s; void dfs(int i,int val1) { for (int j=0;j<nn;j++) { if (i==j) continue; if (vis[j]&&ed[i][j]==0) return; } for (int j=0;j<nn;j++) { if (i==j) continue; if (ed[i][j]&&!vis[j]) { vis[j]=1; dfs(j,val1+val[j]); vis[j]=0; } } ans=max(ans,val1); } int findSample(int n,int confidence[],int host[],int protocol[]) { nn=n; for (int i=0;i<n;i++) val[i]=confidence[i]; for (int i=0;i<n;i++) for (int j=0;j<n;j++) ed[i][j]=1; set<int>s; for (int i=1;i<n;i++) { s.insert(protocol[i]); if (protocol[i]==0) ed[i][host[i]]=ed[host[i]][i]=0; else if (protocol[i]==1) { for (int j=0;j<n;j++) { if (ed[host[i]][j]==0) ed[i][j]=ed[j][i]=0; } } else { ed[i][host[i]]=ed[host[i]][i]=0; for (int j=0;j<n;j++) { if (ed[host[i]][j]==0) ed[i][j]=ed[j][i]=0; } } } if (s.size()==1&&*begin(s)==1) { int ans=0; for (int i=0;i<n;i++) ans+=val[i]; return ans; } for (int i=0;i<n;i++) { vis[i]=1; dfs(i,val[i]); vis[i]=0; } return ans; }

Compilation message (stderr)

friend.cpp: In function 'int findSample(int, int*, int*, int*)':
friend.cpp:40:2: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
   40 |  for (int i=0;i<n;i++)
      |  ^~~
friend.cpp:43:3: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
   43 |   set<int>s;
      |   ^~~
#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...