Submission #00050


ソースコード

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include<bits/stdc++.h>
using namespace std;
#define INF 10000000000000LL
#define ll long long
ll dp(int i,int bits);
ll n,x;
ll a[29];
ll memo[1<<21];
int main(){
memset(memo,-1,sizeof(memo));
cin>>n>>x;
for(int i=0;i<n;i++){
cin>>a[i];
}
cout<<dp(0,0)<<endl;
}
ll dp(int i,int bits){
ll rec=INF;
if(memo[bits]!=-1)return memo[bits];
if(i==n){
int sum=0;
for(int j=0;j<n;j++){
if((bits>>j)&1){
sum+=a[j];
}
}
return labs(sum-x);
}
rec=min(rec,dp(i+1,bits));
rec=min(rec,dp(i+1,(1<<i)|bits));
return memo[bits]=rec;
}

ステータス

項目 データ
問題 0001 - 破壊の果実
ユーザー名 r1705
投稿日時 2019-04-24 17:56:53
言語 C++11
状態 Accepted
得点 100
ソースコード長 613 Byte
最大実行時間 90 ms
最大メモリ使用量 17100 KB

セット

セット 得点 Cases
1 ALL 100 / 100 *

テストケース

ファイル名 状態 実行時間 メモリ使用量 #
case01.in AC 82 ms 16988 KB
1
case02.in AC 74 ms 16960 KB
1
case03.in AC 72 ms 16804 KB
1
case04.in AC 75 ms 16900 KB
1
case05.in AC 74 ms 16868 KB
1
case06.in AC 81 ms 16968 KB
1
case07.in AC 80 ms 16936 KB
1
case08.in AC 78 ms 16904 KB
1
case09.in AC 74 ms 17004 KB
1
case10.in AC 90 ms 16848 KB
1
case11.in AC 84 ms 16812 KB
1
case12.in AC 72 ms 16908 KB
1
case13.in AC 85 ms 16876 KB
1
case14.in AC 81 ms 17100 KB
1
case15.in AC 81 ms 16944 KB
1
case16.in AC 88 ms 16912 KB
1
case17.in AC 77 ms 16880 KB
1
case18.in AC 82 ms 16980 KB
1
case19.in AC 76 ms 16956 KB
1
case20.in AC 77 ms 17048 KB
1
sample01.in AC 23 ms 17016 KB
1
sample02.in AC 22 ms 16988 KB
1
sample03.in AC 21 ms 16956 KB
1