Submission #199314

#TimeUsernameProblemLanguageResultExecution timeMemory
199314kshitij_sodaniPaprike (COI18_paprike)C++17
11 / 100
10 ms632 KiB
#include <iostream> #include <bits/stdc++.h> using namespace std; typedef long long int llo ; #define mp make_pair #define pb push_back #define a first #define b second vector<llo> adj[16]; vector<pair<llo,llo>> ed; vector<llo> adj2[16]; llo it[16]; llo vis[16]; llo ans; vector<llo> stac; llo n,k; llo co; void dfs(llo no){ co+=it[no]; for(llo j=0;j<adj2[no].size();j++){ llo nn=adj2[no][j]; if(vis[nn]==0){ vis[nn]=1; dfs(nn); } } } void recurse(llo ind){ if(ind==n-1){ llo tot=n-1; for(llo i=0;i<stac.size();i++){ if(stac[i]==1){ tot-=1; adj2[ed[i].a].pb(ed[i].b); adj2[ed[i].b].pb(ed[i].a); } } llo st=1; memset(vis,0,sizeof(vis)); for(llo i=0;i<n;i++){ if(vis[i]==0){ co=0; vis[i]=1; dfs(i); if(co>k){ st=0; } } } if(st==1){ ans=min(ans,tot); } for(llo i=0;i<n;i++){ adj2[i].clear(); } } else{ stac.pb(1); recurse(ind+1); stac.pop_back(); stac.pb(0); recurse(ind+1); stac.pop_back(); } } int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cin>>n>>k; ans=n-1; for(llo i=0;i<n;i++){ cin>>it[i]; } llo aa,bb; for(llo i=0;i<n-1;i++){ cin>>aa>>bb; adj[aa-1].pb(bb-1); adj[bb-1].pb(aa-1); ed.pb(mp(aa-1,bb-1)); } recurse(0); cout<<ans<<endl; return 0; }

Compilation message (stderr)

paprike.cpp: In function 'void dfs(llo)':
paprike.cpp:20:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(llo j=0;j<adj2[no].size();j++){
              ~^~~~~~~~~~~~~~~~
paprike.cpp: In function 'void recurse(llo)':
paprike.cpp:31:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(llo i=0;i<stac.size();i++){
               ~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...