제출 #1255050

#제출 시각아이디문제언어결과실행 시간메모리
1255050NemanjaSo2005이주 (IOI25_migrations)C++20
0 / 100
30 ms1088 KiB
#include "migrations.h" #include<bits/stdc++.h> #define ll long long using namespace std; const int maxn=1e4+5; int n=1e4; vector<int> stablo[maxn]; int salji[maxn]; pair<int,int> dfs(int gde,int pret,int d){ pair<int,int> ans={d,gde}; for(int x:stablo[gde]) if(x!=pret) ans=max(ans,dfs(x,gde,d+1)); return ans; } int poc=9999-14,kraj=9999; int send_message(int N, int idx, int par) { stablo[par].push_back(idx); if(idx<poc) return 0; if(idx==poc){ int ko=dfs(0,0,0).second; for(int i=poc+1;i<=kraj;i++){ salji[i]=ko%2; ko/=2; } return 0; } if(dfs(0,0,0).second==idx) return 4; return salji[idx]; } std::pair<int, int> longest_path(std::vector<int> S) { vector<int> SS; SS.push_back(0); for(int x:S) SS.push_back(x); S=SS; for(int i=kraj;i>=1;i--) if(S[i]==4) return {0,i+1}; int ans=0; for(int i=kraj;i>poc;i--) ans=ans*2+S[i]-1; return {0,ans}; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...