# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
589711 | Mohammed_Atalah | 전선 연결 (IOI17_wiring) | C++17 | 0 ms | 0 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
// Template path: /home/mohammed/.config/sublime-text-3/Packages/User
#include "wiring.h"
#include <bits/stdc++.h>
#include <ext/pb_ds/tree_policy.hpp>
#include <ext/pb_ds/assoc_container.hpp>
using namespace std;
using namespace __gnu_pbds;
// typedef
typedef tree<int, null_type, less_equal<int>, rb_tree_tag, tree_order_statistics_node_update> ordered_set;
// Marcos
#define int long long
#define fast ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr)
// use \n insted of endl
long long min_total_length(std::vector<int> r, std::vector<int> b) {
int szr = r.size();
int szb = b.size();
reverse(b.begin(), b.end());
int total = 0;
for (int i = 0 ; i < szr - 1; i++) {
total += abs(r[i] - r[i + 1]) * (i + 1);
}
for (int i = 0 ; i < szb - 1; i++) {
total += abs(b[i] - b[i + 1]) * (i + 1);
}
total += abs(r[szr - 1] - b[szr - 1]) * max(szr, szb);
return total;
}
// int32_t main() {
// fast;
// #ifndef ONLINE_JUDGE
// freopen("input.txt", "r", stdin);
// freopen("output.txt", "w", stdout);
// #endif
// // Just another problem (-_-)
// int t;
// cin >> t;
// // t = 1
// while (t--) {
// main_solve();
// }
// }