제출 #541774

#제출 시각아이디문제언어결과실행 시간메모리
541774Sho10Dreaming (IOI13_dreaming)C++17
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h> //Andrei Alexandru a.k.a Sho #include "dreaming.h" using ll=int; using ld=long double; int const INF=1000000005; ll const LINF=1000000000000000005; ll const mod=1000000007; ld const PI=3.14159265359; #pragma GCC optimize("O3") #pragma GCC optimize("Ofast") #define f first #define s second #define pb push_back #define mp make_pair #define endl '\n' #define CODE_START ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); using namespace std; vector<pair<ll,ll>>g[100005]; vector<ll>comp; map<ll,ll>viz; ll bg; map<ll,ll> bfs(ll node){ map<ll,ll>dist; dist[node]=0; queue<ll>q; q.push(node); ll mx=0; while(!q.empty()){ ll x=q.front(); q.pop(); comp.pb(x); for(auto it : g[x]){ if(dist[it.f]==0&&it.f!=node){ dist[it.f]=dist[x]+it.s; q.push(it.f); if(dist[it.f]>mx){ mx=dist[it.f]; bg=it.f; } } } } return dist; } int travel_time(int n,int m,int l,vector<int>a,vector<int>b,vector<int>t){ cin>>n>>m; for(ll i=1;i<=m;i++) { g[a[i-1]].pb(mp(b[i-1],t[i-1])); g[b[i-1]].pb(mp(a[i-1],t[i-1])); } vector<pair<ll,ll>>v; for(ll i=0;i<n;i++) { if(viz[i]){ continue; } bg=i; map<ll,ll>x=bfs(bg); comp.clear(); map<ll,ll>y=bfs(bg); ll ans=bg; ll mx=max(x[ans],y[ans]); for(auto it : comp){ if(max(x[it],y[it])<mx){ mx=max(x[it],y[it]); ans=it; } } v.pb(mp(mx,ans)); } sort(v.begin(),v.end()); for(ll i=1;i<v.size();i++) { g[v[i].s].pb(mp(v[0].s,l)); g[v[0].s].pb(mp(v[i].s,l)); } bg=0; bfs(0); map<ll,ll>x=bfs(bg); map<ll,ll>y=bfs(bg); int ans=0; for(ll i=0;i<n;i++) { ans=max(ans,max(x[i],b[i])); } return ans; }

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

dreaming.cpp:6:15: warning: overflow in conversion from 'long int' to 'll' {aka 'int'} changes value from '1000000000000000005' to '-1486618619' [-Woverflow]
    6 | ll const LINF=1000000000000000005;
      |               ^~~~~~~~~~~~~~~~~~~
dreaming.cpp: In function 'int travel_time(int, int, int, std::vector<int>, std::vector<int>, std::vector<int>)':
dreaming.cpp:73:13: warning: comparison of integer expressions of different signedness: 'll' {aka 'int'} and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   73 | for(ll i=1;i<v.size();i++)
      |            ~^~~~~~~~~
/usr/bin/ld: /tmp/ccOD4jMS.o: in function `main':
grader.c:(.text.startup+0xd1): undefined reference to `travelTime'
collect2: error: ld returned 1 exit status