제출 #1319556

#제출 시각아이디문제언어결과실행 시간메모리
1319556m.zeeshanrashidEaster Eggs (info1cup17_eastereggs)C++20
0 / 100
1 ms496 KiB
// #ifdef __AVX2__ // #pragma GCC target "avx2" // #endif // #pragma GCC optimize "O3" // #pragma GCC optimize "unroll-loops" #include <bits/stdc++.h> #include "grader.h" // #include <ext/pb_ds/assoc_container.hpp> // #include <ext/pb_ds/tree_policy.hpp> // using namespace __gnu_pbds; using namespace std; // #define int long long #define elif else if #define all(l) begin(l),end(l) #define rall(l) rbegin(l),rend(l) #define append push_back #define print(l) for(auto i:l) cout<<i<<' '; cout<<endl; #define pprint(a,b) cout<<a<<' '<<b<<endl; #define inp(l) for(auto &i:l) cin>>i; // #define ordered_set tree<int, null_type,less<int>, rb_tree_tag,tree_order_statistics_node_update> #define pai make_pair #define endl "\n" #define pii pair<int,int> #define fi first #define se second #define vec vector // const int mod=998244353; const int mod1=998244353; const int mod=1e9+7; const int N1=(1<<9)+5; int in[N1],n; vec<int>G[N1]; int ti=1; void dfs(int u,int p){ in[u]=ti; ti++; for(auto v:G[u]){ if(v==p) continue; dfs(v,u); } } int findEgg (int N,vec<pii>ed){ n=N; for(int i=0;i+1<n;i++){ int u=ed[i].fi,v=ed[i].se; G[u].append(v); G[v].append(u); } dfs(1,1); map<int,int>d; for(int i=1;i<=n;i++) d[in[i]]=i; int l=1,r=n; while(l!=r){ int m=(l+r)/2; vec<int>a; for(int i=1;i<=m;i++) a.append(d[i]); if(query(a)) r=m; else l=m+1; } for(int i=1;i<=n;i++) G[i].clear(); return d[l]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...