# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
505166 | Hanksburger | Wiring (IOI17_wiring) | C++17 | 30 ms | 3748 KiB |
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 <bits/stdc++.h>
using namespace std;
long long dp[205][205];
long long min_total_length(vector<int> r, vector<int> b)
{
long long n=r.size(), m=b.size();
if (n<=200 && m<=200)
{
dp[1][1]=abs(r[0]-b[0]);
for (long long i=1; i<n; i++)
dp[i+1][1]=dp[i][1]+abs(r[i]-b[0]);
for (long long i=1; i<m; i++)
dp[1][i+1]=dp[1][i]+abs(r[0]-b[i]);
for (long long i=1; i<n; i++)
for (long long j=1; j<m; j++)
dp[i+1][j+1]=min(min(dp[i+1][j], dp[i][j+1]), dp[i][j])+abs(r[i]-b[j]);
return dp[n][m];
}
else if (r[n-1]<b[0])
{
long long ans=0;
for (long long i=0; i<min(n, m); i++)
ans+=b[m-i-1]-r[i];
if (n<=m)
for (long long i=m-n-1; i>=0; i--)
ans+=b[i]-r[n-1];
else
for (long long i=m; i<n; i++)
ans+=b[0]-r[i];
return ans;
}
}
Compilation message (stderr)
# | 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... |