제출 #1179293

#제출 시각아이디문제언어결과실행 시간메모리
1179293hoang1707Race (IOI11_race)C++20
컴파일 에러
0 ms0 KiB
#include<bits/stdc++.h> using namespace std; #define int long long int res=INT_MAX; int n,k; void dfs(vector<vector<pair<int,int>>>&g,int u,int p,int d,int deep,map<int,int> memo[]){ memo[u][deep]=d; // cout<<"deep="<<deep<<",d="<<d<<",u="<<u<<endl; for(auto &co:g[u]) { int v=co.first,w=co.second; if (v==p) continue; dfs(g,v,u,d+1,deep+w,memo); if (memo[u].size()<memo[v].size()) swap(memo[u],memo[v]); for (auto &p:memo[v]) { int w=p.second; int val=deep+k-w; if (memo[u].find(val)!=memo[u].end()) res=min(res,memo[u][val]-d+1); } for(auto &p:memo[v]) { int fi=p.first,se=p.second; if (memo[u].find(fi)==memo[u].end()) memo[u][fi]=se; else memo[u][fi]=min(memo[u][fi],se); // cout<<"v="<<v<<",w="<<w<<",val="<<val<<endl; } } } signed main() { ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); cin>>n>>k; vector<vector<pair<int,int>>> g(n); vector<pair<int,int>> edges; for (int i=1;i<n;i++) { int u,v;cin>>u>>v; edges.emplace_back(u,v); } int len[n-1]; for (int i=0;i<n-1;i++) cin>>len[i]; for (int i=0;i<n-1;i++) { int u=edges[i].first,v=edges[i].second; g[u].push_back({v,len[i]}); g[v].push_back({u,len[i]}); } map<int,int> memo[n]; int root=-1; for (int i=0;i<n;i++) if (g[i].size()<=1) { root=i; break; } dfs(g,root,root,0,0,memo); if (res==INT_MAX) cout<<-1<<endl; else cout<<res<<endl; }

컴파일 시 표준 에러 (stderr) 메시지

/usr/bin/ld: /tmp/ccgdadDz.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/cc7OIWR7.o:race.cpp:(.text.startup+0x0): first defined here
/usr/bin/ld: /tmp/ccgdadDz.o: in function `main':
grader.cpp:(.text.startup+0x28): undefined reference to `best_path(int, int, int (*) [2], int*)'
collect2: error: ld returned 1 exit status