Submission #395268

#TimeUsernameProblemLanguageResultExecution timeMemory
395268surenSwapping Cities (APIO20_swap)C++14
0 / 100
2080 ms9512 KiB
#include<bits/stdc++.h> using namespace std; #define ll long long #define pb push_back #define mk make_pair #define F first #define S second int n, m; pair < int , pair< int, int > > p[200045]; int parent[100045]; int get( ll x ){ if( parent[x] == x ) return x; return parent[x] = get( parent[x] ); } void init(int N, int M, std::vector<int> U, std::vector<int> V, std::vector<int> W) { int i; n = N;m = M; for( i = 0; i < m; i ++ ){ p[i].second.F=U[i]; p[i].second.S=V[i]; p[i].first=W[i]; } sort( p, p + m ); } int getMinimumFuelCapacity(int X, int Y) { map < int, int > mp; int i; int flag = false; mp.clear(); for( i = 0; i < n; i ++ ) parent[i] = i; for( i = 0; i < m; i ++ ){ int a = get( p[i].second.F ); int b = get( p[i].second.S ); if( a != b ){ if( b > a ){ swap(a, b); } parent[b] = a; } int parx = get( X ); int pary = get( Y ); mp[ p[i].S.F ] = 1; mp[ p[i].S.S ] = 1; if( parx != pary ) continue; if( mp.size() == i+2 ) continue; return p[i].F; } return -1; }

Compilation message (stderr)

swap.cpp: In function 'int getMinimumFuelCapacity(int, int)':
swap.cpp:51:17: warning: comparison of integer expressions of different signedness: 'std::map<int, int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   51 |   if( mp.size() == i+2 )
      |       ~~~~~~~~~~^~~~~~
swap.cpp:30:6: warning: unused variable 'flag' [-Wunused-variable]
   30 |  int flag = false;
      |      ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...