Submission #1366780

#TimeUsernameProblemLanguageResultExecution timeMemory
1366780JohanPalembang Bridges (APIO15_bridge)C++20
0 / 100
3 ms344 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N = 2e5 + 5;
const int INF = 1e18;

signed main(){
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  int k, n, tot = 0;
  cin >> k >> n;
  set < int > L, R;
  vector < array < int , 2 > > v;
  for(int i = 0; i < n; i++){
    char ty1, ty2;
    int cor1, cor2;
    cin >> ty1 >> cor1 >> ty2 >> cor2;
    if(cor1 > cor2)
      swap(cor1, cor2);
    L.insert(cor1);
    R.insert(cor2);
    if(ty1 == ty2){
      tot += abs(cor1 - cor2);
    }
    else {
      v.push_back({cor1, cor2});
    }
  }
  int mn = INF;
  for(auto d1 : L){
    for(auto d2 : R){
      int cur = tot + v.size();
      for(auto [l, r] : v){
        int select = min(abs(d1 - l - d1 + r), abs(d2 - l) + abs(d2 - r));
        cur += select;
      }
      mn = min(mn, cur);
    }
  }
  cout << mn << endl;
} 
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...