Submission #970597

#TimeUsernameProblemLanguageResultExecution timeMemory
970597LalicWiring (IOI17_wiring)C++17
7 / 100
134 ms262144 KiB
#include "wiring.h"
#include <bits/stdc++.h>
using namespace std;

#define fi first
#define se second
#define pb push_back
#define all(x) x.begin(), x.end()
#define allr(x) x.rbegin(), x.rend()
#define mp make_pair

typedef long long ll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;

const int MAXN = 1e5+10;
const int MOD = 1e9+7;
const int INF = 0x3f3f3f3f;
const ll LINF = 0x3f3f3f3f3f3f3f3f;

ll min_total_length(vector<int> r, vector<int> b) {
	int n=(int)r.size(), m=(int)b.size();
	vector<vector<ll>> dp(n+1, vector<ll>(m+1));
	
	for(int i=1;i<=n;i++) dp[i][0]=LINF;
	for(int i=1;i<=m;i++) dp[0][i]=LINF;
	
	dp[0][0]=0;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			ll val=abs((ll)b[j-1]-(ll)r[i-1]);
			
			dp[i][j]=min({dp[i-1][j-1], dp[i-1][j], dp[i][j-1]})+val;
		}
	}

	return dp[n][m];
}
#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...