Submission #345997

#TimeUsernameProblemLanguageResultExecution timeMemory
345997ahmetEaster Eggs (info1cup17_eastereggs)C++14
81 / 100
15 ms364 KiB
#include <bits/stdc++.h> #include "grader.h" using namespace std; #define ref(a,b,c) for(int (a)=(b);(a)<=(c);++(a)) #define rep(a,b) for(int (a)=0;(a)<(b);++(a)) #define ll long long #define pb push_back #define mp make_pair vector <int> v[550]; vector <int> euler; void dfs(int node,int par){ euler.pb(node); for(int i=0;i<v[node].size();++i){ int nxt=v[node][i]; if(nxt==par)continue; dfs(nxt,node); euler.pb(node); } return; } int findEgg (int N, vector < pair < int, int > > bridges) { ref(i,1,N)v[i].clear(); euler.clear(); for(int i=0;i<N-1;++i){ int x=bridges[i].first; int y=bridges[i].second; v[x].pb(y); v[y].pb(x); } dfs(1,0); int l=0,r=euler.size()-1; int vis[550]; vector <int> tmp; while(l<r){ tmp.clear(); memset(vis,0,sizeof(vis)); int mid=(l+r)/2; for(int i=mid+1;i<=r;++i){ if(vis[euler[i]]==0){tmp.pb(euler[i]);vis[euler[i]]=1;} } if(query(tmp))l=mid+1; else r=mid; } return euler[l]; }

Compilation message (stderr)

eastereggs.cpp: In function 'void dfs(int, int)':
eastereggs.cpp:13:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   13 |  for(int i=0;i<v[node].size();++i){
      |              ~^~~~~~~~~~~~~~~
eastereggs.cpp: In function 'int findEgg(int, std::vector<std::pair<int, int> >)':
eastereggs.cpp:4:28: warning: unnecessary parentheses in declaration of 'i' [-Wparentheses]
    4 | #define ref(a,b,c) for(int (a)=(b);(a)<=(c);++(a))
      |                            ^
eastereggs.cpp:23:2: note: in expansion of macro 'ref'
   23 |  ref(i,1,N)v[i].clear();
      |  ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...