Submission #138390

#TimeUsernameProblemLanguageResultExecution timeMemory
138390NucleistFriend (IOI14_friend)C++14
27 / 100
38 ms2812 KiB
#include <bits/stdc++.h> #include "friend.h" using namespace std; #define flash ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0) #define debug(x) cerr << " - " << #x << ": " << x << endl; #define debugs(x, y) cerr << " - " << #x << ": " << x << " " << #y << ": " << y << endl; #define all(x) (x).begin(),(x).end() #define sz(x) (int)x.size() #define ll long long #define INF 1000000000 #define pb push_back struct greateri { template<class T> bool operator()(T const &a, T const &b) const { return a > b; } }; int weight[1001]; int visited[1001]; vector<int>adj[12]; int dal; int solve(int node) { if(node>=dal){/*debug("fin");*/return 0;} int ans = 0; if(!visited[node]) { visited[node]++; for (int i = 0; i < adj[node].size(); ++i) { int next = adj[node][i]; visited[next]++; } ans=max(ans,solve(node+1)+weight[node]); //debugs(node,ans); for (int i = 0; i < adj[node].size(); ++i) { int next = adj[node][i]; visited[next]--; } visited[node]--; } ans = max(ans,solve(node+1)); return ans; } int findSample(int n,int confidence[],int host[],int protocol[]) { dal = n; int kal = 0; int so = 0; for (int i = 0; i < n; ++i) { weight[i]=confidence[i]; kal+=weight[i]; so = max(so,weight[i]); } bool ka = false; bool ka1 = false; for (int i = 1; i < n; ++i) { if(protocol[i]!=2){ka1=true;break;} } for (int i = 1; i < n; ++i) { if(protocol[i]!=1){ka=true;break;} } if(!ka)return kal; if(!ka1)return so; for (int i = 1; i < dal; ++i) { int now = host[i]; int prot = protocol[i]; int newi = i; if(prot==0 || prot==2) { adj[now].pb(newi); adj[newi].pb(now); } if(prot==1 || prot==2) { ////debugs(newi,now); int vol = adj[now].size(); for (int j = 0; j < adj[now].size(); ++j) { int neigh = adj[now][j]; //(neigh); adj[neigh].pb(newi); adj[newi].pb(neigh); } } } return solve(0); } //code the AC sol ! // BS/queue/map

Compilation message (stderr)

friend.cpp: In function 'int solve(int)':
friend.cpp:28:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (int i = 0; i < adj[node].size(); ++i)
                   ~~^~~~~~~~~~~~~~~~~~
friend.cpp:35:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (int i = 0; i < adj[node].size(); ++i)
                   ~~^~~~~~~~~~~~~~~~~~
friend.cpp: In function 'int findSample(int, int*, int*, int*)':
friend.cpp:82:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int j = 0; j < adj[now].size(); ++j)
                     ~~^~~~~~~~~~~~~~~~~
friend.cpp:81:9: warning: unused variable 'vol' [-Wunused-variable]
     int vol = adj[now].size();
         ^~~
#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...