제출 #788283

#제출 시각아이디문제언어결과실행 시간메모리
788283NeroZein전선 연결 (IOI17_wiring)C++17
13 / 100
25 ms3792 KiB
#include "wiring.h"
#include "bits/stdc++.h"
using namespace std; 

long long min_total_length(std::vector<int> r, std::vector<int> b) {
  if (r.size() > b.size()) {
    swap(r, b); 
  }
  int n = (int) r.size();
  int m = (int) b.size(); 
  auto dis = [&](int i, int j) {
    return abs(i - j); 
  };
  sort(r.begin(), r.end());
  sort(b.begin(), b.end()); 
  long long ans = 0; 
  for (int i = 0; i < n; ++i) {
    ans += dis(r[i], b[i]); 
  }
  int p = 0; 
  for (int i = n; i < m; ++i) {
    while (p + 1 < n && dis(r[p], b[i]) > dis(r[p + 1], b[i])) {
      p++;
    }
    ans += dis(r[p], b[i]); 
  }
  return ans; 
}
#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...