Submission #00052
ソースコード
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 37 | #include <bits/stdc++.h> using namespace std; int n; int num[101]; long long dp[101][21]; long long solve( int idx, int sum) { if (idx == n - 1) { if (sum == num[n - 1]) return 1; else return 0; } if (dp[idx][sum] != -1) return dp[idx][sum]; long long ret = 0; if (sum + num[idx] <= 20) ret += solve(idx + 1, sum + num[idx]); if (sum - num[idx] >= 0) ret += solve(idx + 1, sum - num[idx]); return dp[idx][sum] = ret; } int main() { cin >> n; for ( int i = 0; i < n; ++i) { cin >> num[i]; } memset (dp, -1, sizeof (dp)); cout << solve(1, num[0]) << endl; } |
ステータス
項目 | データ |
---|---|
問題 | 0004 - 1年生 (A First Grader) |
ユーザー名 | ei1503 |
投稿日時 | 2016-11-09 16:53:47 |
言語 | C++11 |
状態 | Accepted |
得点 | 100 |
ソースコード長 | 668 Byte |
最大実行時間 | 21 ms |
最大メモリ使用量 | 604 KB |
セット
セット | 得点 | Cases | |
---|---|---|---|
1 | 入力1 | 20 / 20 | *1.txt |
2 | 入力2 | 20 / 20 | *2.txt |
3 | 入力3 | 20 / 20 | *3.txt |
4 | 入力4 | 20 / 20 | *4.txt |
5 | 入力5 | 20 / 20 | *5.txt |
テストケース
ファイル名 | 状態 | 実行時間 | メモリ使用量 | # | ||||
---|---|---|---|---|---|---|---|---|
2011-yo-t4-in1.txt | AC | 21 ms | 480 KB |
1
|
||||
2011-yo-t4-in2.txt | AC | 21 ms | 448 KB |
2
|
||||
2011-yo-t4-in3.txt | AC | 19 ms | 544 KB |
3
|
||||
2011-yo-t4-in4.txt | AC | 13 ms | 508 KB |
4
|
||||
2011-yo-t4-in5.txt | AC | 20 ms | 604 KB |
5
|