제출 #505166

#제출 시각아이디문제언어결과실행 시간메모리
505166HanksburgerWiring (IOI17_wiring)C++17
20 / 100
30 ms3748 KiB
#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;
	}
}

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

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