제출 #1366559

#제출 시각아이디문제언어결과실행 시간메모리
1366559JohanPalembang Bridges (APIO15_bridge)C++20
9 / 100
1029 ms548 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;
      int x = min(d1, d2);
      int y = max(d1, d2);
      for(auto [l, r] : v){
        int select = min(abs(x - l) + abs(x - r), abs(y - l) + abs(y - r)) + 1;
        cur += select;
      }
      mn = min(mn, cur);
    }
  }
  cout << mn << endl;
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…