Submission #593574

#TimeUsernameProblemLanguageResultExecution timeMemory
593574FatihSolakWiring (IOI17_wiring)C++17
13 / 100
35 ms3252 KiB
#include "wiring.h"
#include <bits/stdc++.h>
using namespace std;
long long min_total_length(vector<int> r, vector<int> b) {
	if(r.size() > b.size())swap(r,b);
	int n = r.size(),m = b.size();
	long long ans = 0;
	int pt1 = -1;
	for(int i = 0;i<n;i++){
		ans += abs(r[i] - b[++pt1]);
		while(m - (pt1 + 1) - 1 >= n-(i+1) && (i == n-1 || abs(r[i] - b[pt1 + 1]) < abs(r[i+1] - b[pt1 + 1])) ){
			ans += abs(r[i] - b[++pt1]);
		}
	}

	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...