Submission #742056

#TimeUsernameProblemLanguageResultExecution timeMemory
742056angelsWall (IOI14_wall)C++14
Compilation error
0 ms0 KiB
#include<iostream> #include<algorithm> #include<vector> #define optimizar_io ios_base::sync_with_stdio(0);cin.tie(0); using namespace std; int n, m; int a, b; long long int L, t; long long int ans; vector< pair< int, long long int > > E[100002]; long long int Aa[100002], XX; int color, x; long long int maxi, mini; int vis[100002]; void lejano( int node, long long int d ){ if( d > maxi ){ maxi = d; x = node; } vis[node] = color; for( int i = 0; i < E[node].size(); i++ ) if( vis[ E[node][i].first ] != color ) lejano( E[node][i].first, d + E[node][i].second ); } long long int dist[100002]; void DFS( int node, long long int d, int c ){ if( c ){ dist[node] = max( dist[node], d ); maxi = max( maxi, dist[node] ); mini = mini == -1 ? dist[node] : min( mini, dist[node] ); } else { dist[node] = d; } vis[node] = color; for( int i = 0; i < E[node].size(); i++ ) if( vis[ E[node][i].first ] != color ) DFS( E[node][i].first, d + E[node][i].second, c ); } long long int checkTree( int r ){ int a, b; color++; maxi = -1; x = 0; lejano( r, 0 ); a = x; color++; maxi = -1; x = 0; lejano( a, 0 ); b = x; maxi = -1; mini = -1; color++; DFS( a, 0, 0 ); color++; DFS( b, 0, 1 ); ans = max( ans, maxi ); return mini; } int travelTime(int N, int M, int L, int A[], int B[], int T[]) { optimizar_io //cin >> n >> m >> L; n=N; m=M; for( int i = 0; i < m; i++ ){ //cin >> a >> b >> t; a=A[i]; b=B[i]; t=T[i]; E[a].push_back( make_pair( b, t ) ); E[b].push_back( make_pair( a, t ) ); } for( int i = 0; i < n; i++ ) if( !vis[i] ) Aa[++XX] = checkTree( i ); sort( Aa + 1, Aa + XX + 1 ); reverse( Aa + 1, Aa + XX + 1 ); if( XX > 1 ){ ans = max( ans, Aa[1] + Aa[2] + L ); if( XX > 2 ) ans = max( ans, Aa[2] + Aa[3] + 2 * L ); } return(ans); }

Compilation message (stderr)

wall.cpp: In function 'void lejano(int, long long int)':
wall.cpp:27:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   27 |  for( int i = 0; i < E[node].size(); i++ )
      |                  ~~^~~~~~~~~~~~~~~~
wall.cpp: In function 'void DFS(int, long long int, int)':
wall.cpp:46:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   46 |  for( int i = 0; i < E[node].size(); i++ )
      |                  ~~^~~~~~~~~~~~~~~~
/usr/bin/ld: /tmp/cctc0byd.o: in function `main':
grader.cpp:(.text.startup+0x133): undefined reference to `buildWall(int, int, int*, int*, int*, int*, int*)'
collect2: error: ld returned 1 exit status