제출 #471455

#제출 시각아이디문제언어결과실행 시간메모리
471455dxz05전선 연결 (IOI17_wiring)C++14
20 / 100
42 ms6276 KiB
#include "wiring.h" #include <bits/stdc++.h> using namespace std; const int MAXN = 2e5 + 3e2; typedef long long ll; ll dp[222][222]; long long min_total_length(std::vector<int> r, std::vector<int> b) { int n = r.size(), m = b.size(); if (r.back() < b.front()) { ll ans = 0; for (int i = 0; i < min(n, m); i++) { ans += abs(r[i] - b[i]); } if (n < m) { for (int i = n; i < m; i++) { ans += abs(b[i] - r.back()); } } else { for (int i = m; i < n; i++) { ans += abs(r[i] - b.front()); } } return ans; } for (int j = 1; j <= m; j++){ dp[1][j] = dp[1][j - 1] + abs(b[j - 1] - r[0]); } for (int i = 1; i <= n; i++){ dp[i][1] = dp[i - 1][1] + abs(r[i - 1] - b[0]); } for (int i = 2; i <= n; i++){ for (int j = 2; j <= m; j++){ dp[i][j] = min({dp[i - 1][j], dp[i][j - 1], dp[i - 1][j - 1]}) + abs(r[i - 1] - b[j - 1]); } } 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...