Submission #33344

#TimeUsernameProblemLanguageResultExecution timeMemory
33344mohammad_kilaniWiring (IOI17_wiring)C++14
0 / 100
26 ms5736 KiB
#include "wiring.h" #include <bits/stdc++.h> using namespace std; const int N = 500; vector<int> r , b; long long dp[N][N]; int n , m; long long solve(int i,int j){ if(i == n && j == m) return 0; if(i == n || j == m) return 1e18; if(dp[i][j] != -1) return dp[i][j]; dp[i][j] = 1e18; long long cur = 0 ; for(int k=j;k<m;k++){ cur += abs(r[i] - b[k]); dp[i][j] = min(dp[i][j],cur + solve(i+1,k+1)); } return dp[i][j]; } long long min_total_length(std::vector<int> R, std::vector<int> B) { memset(dp,-1,sizeof(dp)); r = R; b = B; if(r.size() > b.size()) swap(r,b); n = r.size(); m = b.size(); return solve(0,0); }
#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...