#include <bits/stdc++.h>
#define ll long long
#define sz(x) int(x.size())
#define forn(i,n) for(i=0; i<n; i++)
#define all(x) x.begin(),x.end()
#define pb push_back
#define mp make_pair
#define fr first
#define se second
using namespace std;
long long min_total_length(std::vector<int> r, std::vector<int> b) {
ll i, j;
vector<vector<ll>>dp(sz(r),vector<ll>(sz(b),0));
dp[0][0]=abs(b[0]-r[0]);
for(i=1; i<sz(b); i++)
dp[0][i]=dp[0][i-1]+abs(b[i]-r[0]);
for(i=1; i<sz(r); i++)
dp[i][0]=dp[i-1][0]+abs(r[i]-b[0]);
for(i=1; i<sz(r); i++)
for(j=1; j<sz(b); j++)
dp[i][j]=min(dp[i-1][j],min(dp[i][j-1],dp[i-1][j-1]))+1ll*abs(r[i]-b[j]);
return dp[sz(r)-1][sz(b)-1];
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |