Submission #1264027

#TimeUsernameProblemLanguageResultExecution timeMemory
1264027avohadoRace (IOI11_race)C++20
100 / 100
320 ms31988 KiB
#include <bits/stdc++.h> using namespace std; #define mod 1000000007 #define maxn 200005 #define f first #define s second #define ll long long #define pb(x) push_back(x) int n, k, inf=maxn*2, sh=maxn*2, v=-1, timer=1, l[maxn]; bool used[maxn]; pair<int, int> k1[1000005]; vector<pair<int, int>> g[maxn]; int dfs1(int u, int p, int n){ int sh=1; for(auto i:g[u]){ if(i.f!=p&&!used[i.f]){ sh+=dfs1(i.f, u, n); } } if(sh>n/2&&v==-1){ v=u; } return sh; } void dfs2(int u, int p, int ck, int cnt){ if(k1[k-ck].s==timer){ sh=min(sh, (k1[k-ck].f+cnt)); } for(auto i:g[u]){ if(i.f!=p&&l[i.s]+ck<=k&&!used[i.f]){ dfs2(i.f, u, l[i.s]+ck, cnt+1); } } } int dfs3(int u, int p){ int sh=1; for(auto i:g[u]){ if(!used[i.f]&&p!=i.f){ sh+=dfs3(i.f, u); } } return sh; } void dfs4(int u, int p, int ck, int cnt){ for(auto i:g[u]){ if(i.f!=p&&l[i.s]+ck<=k&&!used[i.f]){ dfs4(i.f, u, l[i.s]+ck, cnt+1); } } if(k1[ck].s<timer){ k1[ck]={cnt, timer}; }else{ k1[ck].f=min(k1[ck].f, cnt); } } void rem(int u, int n){ v=-1; if(n==1)return; dfs1(u, u, n); if(v==-1){ cout << 1/0; } k1[0]={0, timer}; for(auto i:g[v]){ if(!used[i.f]&&l[i.s]<=k){ dfs2(i.f, v, l[i.s], 1); dfs4(i.f, v, l[i.s], 1); } } used[v]=1; timer++; for(auto i:g[v]){ if(!used[i.f]){ rem(i.f, dfs3(i.f, v)); } } } int best_path(int n1, int k1, int h[][2], int l1[]){ n=n1, k=k1; for(int i=0; i<n-1; i++){ g[h[i][0]].push_back({h[i][1], i}); g[h[i][1]].push_back({h[i][0], i}); l[i]=l1[i]; } rem(0, n); return (sh==inf?-1:sh); }

Compilation message (stderr)

race.cpp: In function 'void rem(int, int)':
race.cpp:61:18: warning: division by zero [-Wdiv-by-zero]
   61 |         cout << 1/0;
      |                 ~^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...