Submission #254607

#TimeUsernameProblemLanguageResultExecution timeMemory
254607Hehehe전선 연결 (IOI17_wiring)C++14
7 / 100
1097 ms70256 KiB
#include<bits/stdc++.h> //:3
using namespace std;
typedef long long ll;
#define all(a) (a).begin(), (a).end()
#define ff first
#define ss second
#define pb push_back
#define mp make_pair
#define rc(s) return cout<<s,0
#define pi pair <int, int>
#define sz(x) (int)((x).size())

#include "wiring.h"

const int N = 2e3 + 11;

ll dp[N][N];

ll min_total_length(vector<int> r, vector<int> b){

    vector<int>red, blue;

    red.push_back(0);
    blue.push_back(0);

    for(auto it : r)red.push_back(it);
    for(auto it : b)blue.push_back(it);

    memset(dp, 0x3f, sizeof(dp));


    dp[0][0] = 0;

    for(int i = 1; i < sz(red); i++){
        for(int j = 1; j < sz(blue); j++){
            dp[i][j] = min({dp[i - 1][j], dp[i][j - 1], dp[i - 1][j - 1]}) + abs(red[i] - blue[j]);
        }
    }

    return dp[sz(red) - 1][sz(blue) - 1];
}
#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...