제출 #1075443

#제출 시각아이디문제언어결과실행 시간메모리
1075443stdfloatPalembang Bridges (APIO15_bridge)C++17
31 / 100
2068 ms11020 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; #define int long long int32_t main() { ios::sync_with_stdio(false); cin.tie(nullptr); int K, n; cin >> K >> n; ll sm = 0; vector<vector<int>> v; for (int i = 0; i < n; i++) { char p, q; int s, t; cin >> p >> s >> q >> t; if (p == q) sm += abs(t - s); else v.push_back({s + t, s, t}); } if (v.empty()) return cout << sm, 0; sm += (int)v.size(); sort(v.begin(), v.end()); vector<int> u; for (auto i : v) u.insert(u.end(), {i[1], i[2]}); if (K == 1) { sort(u.begin(), u.end()); for (int j = 0; j < (int)u.size(); j++) sm += (j < (int)u.size() >> 1 ? -1 : 1) * u[j]; return cout << sm, 0; } ll mn = LLONG_MAX; for (int i = 0; i < (int)u.size(); i++) { for (int j = i + 1; j < (int)u.size(); j++) { ll sm = 0; for (auto k : v) sm += min(abs(k[1] - u[i]) + abs(k[2] - u[i]), abs(k[1] - u[j]) + abs(k[2] - u[j])); mn = min(mn, sm); } } cout << sm + mn; }
#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...