제출 #1255056

#제출 시각아이디문제언어결과실행 시간메모리
1255056NemanjaSo2005Migrations (IOI25_migrations)C++20
30 / 100
32 ms1720 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+1; 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) { for(int i=kraj;i>=1;i--) if(S[i]==4) return {0,i}; int ans=0; for(int i=kraj;i>poc;i--){ ans=ans*2+S[i]-1; // cout<<ans<<" "<<S[i]<<endl; } return {0,ans}; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...