Submission #1061124

#TimeUsernameProblemLanguageResultExecution timeMemory
1061124vjudge1전선 연결 (IOI17_wiring)C++17
0 / 100
1 ms348 KiB
#include <bits/stdc++.h>

using namespace std;

#define ll long long

ll min_total_length(vector<int> r, vector<int> b)
{
	ll n=r.size(),m=b.size();
	if (n<=200 && m<=200)
	{
		ll dp[n][m],inf = 1e9;
		for (int i=0;i<n;i++)
			for (int j=0;j<m;j++)
				dp[i][j]=inf*n*m;
		dp[0][0]=abs(r[0]-b[0]);
		for (int i=1;i<n;i++)
			dp[i][0]=dp[i-1][0]+abs(r[i]-b[0]);
		for (int i=1;i<m;i++)
			dp[0][i]=dp[0][i-1]+abs(r[0]-b[i]);
		for (int i=1;i<n;i++)
			for (int j=1;j<m;j++)
			{
				ll x=0,y=0;
				for (int k=j;k>=0;k--)
				{
					x+=abs(r[i]-b[k]);
					if (k)
						dp[i][j]=min(dp[i][j],x+dp[i-1][k-1]);
					else
						dp[i][j]=min(dp[i][j],x);
				}
				for (int k=i;k>=0;k--)
				{
					y+=abs(b[j]-r[k]);
					if (k)
						dp[i][j]=min(dp[i][j],y+dp[k-1][j-1]);
					else
						dp[i][j]=min(dp[i][j],y);
				}
			}
		return dp[n-1][m-1];
	}
}

Compilation message (stderr)

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