제출 #1324390

#제출 시각아이디문제언어결과실행 시간메모리
1324390SmuggingSpun전선 연결 (IOI17_wiring)C++20
7 / 100
1096 ms4256 KiB
#include "wiring.h"
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
template<class T>void minimize(T& a, T b){
  if(a > b){
    a = b;
  }
}
const int lim = 1e5 + 5;
const ll INF = 1e18;
int n, m, r[lim], b[lim];
namespace sub1{
  ll solve(){
    vector<ll>dp(m + 1, INF);
    dp[0] = 0;
    for(int i = 1; i <= n; i++){
      vector<ll>ndp(m + 1, INF);
      for(int j = 1; j <= m; j++){
        ndp[j] = dp[j - 1] + abs(r[i] - b[j]);
        for(int k = 1; k <= n; k++){
          minimize(ndp[j], ndp[j - 1] + abs(r[k] - b[j]));
        }  
        for(int k = 1; k <= m; k++){
          minimize(ndp[j], dp[j] + abs(r[i] - b[k]));
        }
      }
      swap(dp, ndp);
    }
    return dp[m];
  }
}
ll min_total_length(vector<int>_r, vector<int>_b){
  for(int i = n = _r.size(); i > 0; i--){
    r[i] = _r[i - 1];
  }
  for(int i = m = _b.size(); i > 0; i--){
    b[i] = _b[i - 1];
  }
  if(max(n, m) <= 200){
    return sub1::solve();
  }
}

컴파일 시 표준 에러 (stderr) 메시지

wiring.cpp: In function 'll min_total_length(std::vector<int>, std::vector<int>)':
wiring.cpp:43:1: warning: control reaches end of non-void function [-Wreturn-type]
   43 | }
      | ^
#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...