提出 #59138448


ソースコード 拡げる

#include <bits/stdc++.h>
#include<atcoder/all>
#define rep(i,n) for(int i=0;i<n;i++)
using namespace std;
using namespace atcoder;
#define all(a) a.begin(),a.end()
typedef long long ll;
typedef pair<ll,ll> P;
typedef modint1000000007 mi;
constexpr ll mod=1000000007;
constexpr ll inf=1ll<<61;
constexpr double PI=3.1415926535897932;

ll dp[402][402];
ll a[402];

ll memo(int L,int R){
	if(dp[L][R]!=inf)return dp[L][R];
	if(L>R)return dp[L][R]=0;

	ll ans=abs(a[L]-a[R])+memo(L+1,R-1);
	for(int i=L+1;i<R;i+=2)ans=min(ans,memo(L,i)+memo(i+1,R));

	return dp[L][R]=ans;

}

int main(){
	int n;cin>>n;
	rep(i,2*n)cin>>a[i];
	rep(i,2*n)rep(j,2*n)dp[i][j]=inf;
	cout<<memo(0,2*n-1)<<endl;
	
}

提出情報

提出日時
問題 019 - Pick Two(★6)
ユーザ Rho17
言語 C++ 20 (gcc 12.2)
得点 6
コード長 721 Byte
結果 AC
実行時間 17 ms
メモリ 4740 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 6 / 6
結果
AC × 4
AC × 14
セット名 テストケース
Sample 00_sample_0.txt, 00_sample_1.txt, 00_sample_2.txt, 00_sample_3.txt
All 00_sample_0.txt, 00_sample_1.txt, 00_sample_2.txt, 00_sample_3.txt, 01_cornar_0.txt, 01_cornar_1.txt, 01_cornar_2.txt, 02_random_0.txt, 02_random_1.txt, 02_random_2.txt, 02_random_3.txt, 03_maxima_0.txt, 03_maxima_1.txt, 03_maxima_2.txt
ケース名 結果 実行時間 メモリ
00_sample_0.txt AC 1 ms 3488 KiB
00_sample_1.txt AC 1 ms 3488 KiB
00_sample_2.txt AC 1 ms 3420 KiB
00_sample_3.txt AC 1 ms 3564 KiB
01_cornar_0.txt AC 1 ms 3448 KiB
01_cornar_1.txt AC 1 ms 3544 KiB
01_cornar_2.txt AC 3 ms 4104 KiB
02_random_0.txt AC 3 ms 4136 KiB
02_random_1.txt AC 1 ms 3848 KiB
02_random_2.txt AC 2 ms 3860 KiB
02_random_3.txt AC 14 ms 4656 KiB
03_maxima_0.txt AC 15 ms 4688 KiB
03_maxima_1.txt AC 17 ms 4708 KiB
03_maxima_2.txt AC 16 ms 4740 KiB