Submission #00084


ソースコード

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
36
#include <bits/stdc++.h>
using namespace std;
int n, w, k, most = 0;
int src[55], inp[55];
int memo[55][10001][55];
int dfs(int now, int sum, int amari)
{
int ret = 0;
if (amari > k) {
return -11111;
}
if (now == n) {
return 0;
}
if (sum + src[now] <= w && amari <= k) {
ret = dfs(now+1, sum+src[now], amari++) + inp[now];
}
return memo[now][sum][amari] = max(ret, dfs(now+1, sum, amari));
}
int main()
{
cin >> w >> n >> k;
memset(memo, 0, sizeof(memo));
for (int i = 0; i < n; i++) {
cin >> src[i] >> inp[i];
}
int ans = dfs(0, 0, 0);
cout << ans << endl;
}

ステータス

項目 データ
問題 0004 - 「とっぴー」カウンセリング
ユーザー名 ei1439
投稿日時 2016-04-27 17:29:10
言語 C++
状態 Wrong Answer
得点 0
ソースコード長 625 Byte
最大実行時間 385 ms
最大メモリ使用量 4632 KB

セット

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

テストケース

ファイル名 状態 実行時間 メモリ使用量 #
1.txt AC 193 ms 118620 KB
1
2.txt TLE 2000 ms 118568 KB
1
3.txt TLE 2000 ms 118652 KB
1
s1.txt AC 32 ms 118728 KB
1
s2.txt AC 32 ms 118672 KB
1
s3.txt WA 31 ms 118744 KB
1