제출 #1299486

#제출 시각아이디문제언어결과실행 시간메모리
1299486FernandoJC07꿈 (IOI13_dreaming)C++20
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h> #include "dreaming.h" using namespace std; #pragma GCC optimize("Ofast,unroll-loops") //\\ PRINCIPAL \\// #define int long long #define ull unsigned long long #define ios ios_base::sync_with_stdio(0); cin.tie(nullptr); cout.tie(nullptr); cout.setf(ios::fixed); cout.precision(0); //srand(time(NULL)); //\\ VECTOR \\// #define vi vector<int> #define pii pair<int, int> #define ti pair<int, pii> #define vii vector<vector<int>> #define vpii vector<pair<int, int>> #define vti vector<ti> #define vipii vector<vector<pair<int, int>>> #define pb push_back #define ff first #define ss second #define pb push_back #define all(x) (x).begin(), (x).end() #define lb lower_bound #define ordenar(x) sort( x.begin(), x.end() ) #define ordenarA(x,n) sort( x, x + n ) #define dbg(x) cout<<#x<<": "<<x<<"\n" #define forn(i, n) for(int i = 0; i<n; ++i) #define For(i, a, n) for(int i = a; i<n; ++i) //\\ OPERACIONES RAPIDAS \\// #define sf(n) scanf("%d", &n) #define sff(n,m) scanf("%d%d",&n,&m) #define sfl(n) scanf("%lld", &n) #define sffl(n,m) scanf("%lld%lld",&n,&m) #define pf(n) printf("%d\n",n) #define pfl(n) printf("%lld ",n) #define pfs(s) printf("%s\n",s) bool cmp1(pii a, pii b){ return a.ss<b.ss; } bool cmp2(ti a, ti b){ return a.ss.ff<b.ss.ff; } bool cmp3(ti a, ti b){ return a.ss.ss<b.ss.ss; } //\\ CODEFORCES \\// #define ri(v, size) vector<int> v(size); for(int& x: v) cin>>x; #define rpi(v, size) vector<pair<int, int>> v(size); for(auto& x: v) cin>>x.ff>>x.ss; #define rt(n, size) vti(size); for(auto& x: v) cin>>x.ff>>x.ss.ff>>x.ss.ss; #define srt(v) sort(all(v)) #define srt1(v) sort(all(v), cmp1) #define srt2(v) sort(all(v), cmp2) #define srt3(v) sort(all(v), cmp3) #define yesr {cout<<"YES\n"; return;} #define nor {cout<<"NO\n"; return;} #define yes cout<<"YES\n" #define no cout<<"NO\n" inline void es(bool a){ string res = a==true ? "YES\n" : "NO\n"; cout<<res; } const int MAXN = 2e5+5, mod = 1e9+7; const int INF = 1e18; inline void mos(vector<int> a){ for(int x: a) cout<<x<<" "; cout<<"\n"; } int travelTime(int N, int M, int L, vi A, vi B, vi T){ vipii adj(N); forn(i, M){ adj[A[i]].pb({B[i], T[i]}); adj[B[i]].pb({A[i], T[i]}); } vii mdist(N, vi(2, 0)); function<void(int, int)> dfs1, dfs2, upt; vi vst(N, 0); upt = [&](int a, int b) -> void{ if(b>=mdist[a][0]){ mdist[a][1] = mdist[a][0]; mdist[a][0] = b; } else if(b>mdist[a][1]) mdist[a][1] = b; }; dfs1 = [&](int a, int b) -> void{ vst[a] = 1; for(auto x: adj[a]){ if(x.ff == b) continue; dfs1(x.ff, a); upt(a, mdist[x.ff][0]+x.ss); } }; int minx = INF, maxn = 0; vi oo; dfs2 = [&](int a, int b) -> void{ for(auto x: adj[a]){ if(x.ff == b) continue; if(mdist[a][0] == mdist[x.ff][0]+x.ss) upt(x.ff, mdist[a][1]+x.ss); else upt(x.ff, mdist[a][0]+x.ss); dfs2(x.ff, a); } minx = min(minx, mdist[a][0]); //dbg(mdist[a][0]); maxn = max(maxn, mdist[a][0]); }; int f = 0, s = 0; forn(i, N){ if(!vst[i]){ dfs1(i, i); dfs2(i, i); if(minx>=f){ s = f; f = minx; } else if(minx>s) s = minx; oo.pb(minx); //dbg(i); dbg(minx); dbg(maxn); minx = INF; maxn = 0; } } srt(oo); int ans = maxn; int y = oo.size(); if(y>1) ans = max(ans, oo[y-1]+oo[y-2]+L); if(y>2) ans = max(ans, oo[y-2]+oo[y-3]+2*L); return ans; }

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

/usr/bin/ld: /tmp/ccfipKjJ.o: in function `main':
grader.c:(.text.startup+0xc5): undefined reference to `travelTime'
collect2: error: ld returned 1 exit status