Submission #261915

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
2619152020-08-12 07:47:09kdh9949Wiring (IOI17_wiring)C++17
100 / 100
77 ms12772 KiB
#include "wiring.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
struct Pos { ll x; int t; };
ll min_total_length(vector<int> r, vector<int> b) {
vector<Pos> a;
a.push_back({-1LL, -1});
for(int x : r) a.push_back({x, 0});
for(int x : b) a.push_back({x, 1});
sort(a.begin(), a.end(), [](Pos &u, Pos &v){ return u.x < v.x; });
int n = int(a.size()) - 1;
const static ll INF = ll(1e18);
vector<ll> d(n + 1, 0), s(n + 1, 0);
for(int i = 1; i <= n; i++) s[i] = s[i - 1] + a[i].x;
for(int i = 1; a[i].t == a[1].t; i++) d[i] = INF;
vector<ll> pm(n + 1), sm(n + 1);
for(int i = 1; i <= n - 1; i++) {
if(a[i].t == a[i + 1].t) continue;
int L, R;
for(L = i; L > 1 && a[L - 1].t == a[i].t; L--);
for(R = i + 1; R < n && a[R + 1].t == a[i + 1].t; R++);
ll md = d[i];
for(int j = i; j >= L; j--) {
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#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...