This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "wiring.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
vector<int> A,B;
int dp[201][201];
int solve(int i,int j){
if(i==A.size()&&j==B.size())return 0;
if(i==A.size()||j==B.size())return INT_MAX;
if(dp[i][j]!=-1)return dp[i][j];
return dp[i][j]=abs(A[i]-B[j])+min(solve(i+1,j+1),min(solve(i+1,j),solve(i,j+1)));
}
ll min_total_length(vector<int> r,vector<int> b) {
A=r,B=b;
memset(dp,-1,sizeof dp);
return solve(0,0);
}
Compilation message (stderr)
wiring.cpp: In function 'int solve(int, int)':
wiring.cpp:8:6: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if(i==A.size()&&j==B.size())return 0;
~^~~~~~~~~~
wiring.cpp:8:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if(i==A.size()&&j==B.size())return 0;
~^~~~~~~~~~
wiring.cpp:9:6: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if(i==A.size()||j==B.size())return INT_MAX;
~^~~~~~~~~~
wiring.cpp:9:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if(i==A.size()||j==B.size())return INT_MAX;
~^~~~~~~~~~
# | 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... |