Submission #48122

#TimeUsernameProblemLanguageResultExecution timeMemory
48122TheDarkningPalembang Bridges (APIO15_bridge)C++17
22 / 100
156 ms4104 KiB
/** ▄█▀ ▀█▀ ▄▀▄ █▀ █▄█▄█ ▄▀▄ █▀ ▄█▀ <⇋⇋⇋⋛∰≓⊂(⌒,_ゝ⌒)⊃≓∰⋛⇋⇋⇋> ♔♕♖♗♘♙ ☜❷☞✪ ィℋ६ ≈ ᗫẵℜℵĬŊĞ ✪☜❷☞ ♚♛♜♝♞♟ ♔♕♖♗♘♙ ♚♛♜♝♞♟ ˙·٠•●♥ Ƹ̵̡Ӝ̵̨̄Ʒ ♥●•٠·˙ 2 5 B 0 A 4 B 1 B 3 A 5 B 7 B 2 A 6 B 1 A 7 **/ #include <iostream> #include <cstdio> #include <vector> #include <algorithm> #include <iomanip> #include <time.h> #include <map> #include <deque> #include <assert.h> #include <queue> #include <string> #include <memory.h> #include <set> #include <math.h> #define sz(s) s.size() #define pb emplace_back #define fr first #define sc second #define mk make_pair #define int long long #define all(s) s.begin(), s.end() #define ok puts("ok"); using namespace std; const int N = 2e5 + 5; const int inf = 1e18 + 7; int n, k, ans, cnt, a[N], b[N]; char t1[N], t2[N]; vector < int > v; main(){ cin >> k >> n; if( k == 1 ){ for( int i = 1; i <= n; i++ ){ cin >> t1[i] >> a[i] >> t2[i] >> b[i]; if( t1[ i ] != t2[ i ] ){ ans ++; v.pb( a[i] ); v.pb( b[i] ); } else{ ans += abs( a[i] - b[i] ); } } sort( all( v ) ); for( int i = 0; i < sz( v ) / 2; i++ ){ ans -= v[i]; } for( int i = sz( v ) / 2; i < sz( v ); i++ ){ ans += v[i]; } cout << ans; } else{ for( int i = 1; i <= n; i++ ){ cin >> t1[ i ] >> a[ i ] >> t2[ i ] >> b[ i ]; } ans = inf; for( int i = 1; i <= n; i ++ ){ for( int j = 1; j <= n; j ++ ){ int sum = 0; for( int k = 1; k <= n; k ++ ){ if( t1[ k ] == t2[ k ] ){ sum += abs( a[k] - b[k] ); continue; } int cur = abs( a[ i ] - a[ k ] ) + abs( a[ i ] - b[ k ] ); cur = min( cur, abs( b[ i ] - a[ k ] ) + abs( b[ i ] - b[ k ] ) ); int res = abs( a[ j ] - a[ k ] ) + abs( a[ j ] - b[ k ] ); res = min( res, abs( b[ j ] - a[ k ] ) + abs( b[ j ] - b[ k ] ) ); sum += min( res, cur ) + 1; } ans = min( ans, sum ); } } cout << ans << endl; } }

Compilation message (stderr)

bridge.cpp:50:6: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
 main(){
      ^
bridge.cpp: In function 'int main()':
bridge.cpp:66:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for( int i = 0; i < sz( v ) / 2; i++ ){
                         ~~^~~~~~~~~~~~~
bridge.cpp:70:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for( int i = sz( v ) / 2; i < sz( v ); i++ ){
                                     ^
#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...