Submission #410544

#TimeUsernameProblemLanguageResultExecution timeMemory
410544dreezyWiring (IOI17_wiring)C++17
7 / 100
157 ms262148 KiB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define pi pair<int,int>
#define pb push_back


ll min_total_length(vector<int> r, vector<int> b){
	//for each point calculate the closest one
	//pair all the closest ones firs	
	
	
	int n = r.size();
	int m = b.size();
	vector<vector<ll>> dp(n, vector<ll>(m,0));
	ll sumr = 0, sumb = 0;
	for(int i =0; i< n; i++){
		sumr +=abs(r[i]- b[0]);
		dp[i][0] = sumr;
	}	
	
	for(int i =0; i< m; i++){
		sumb +=abs(r[0]- b[i]);
		dp[0][i] = sumb;
	}	
	
	for(int i =1; i< n; i++){
		for(int j =1; j< m; j++){
			dp[i][j] = min({dp[i-1][j], dp[i][j-1], dp[i-1][j-1] }) + abs(r[i] - b[j]);
		}
	}
	
	
	
	return dp[n-1][m-1];
}
#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...