diff --git a/problem/P1164/P1164.cpp b/problem/P1164/P1164.cpp new file mode 100644 index 00000000..21fafd18 --- /dev/null +++ b/problem/P1164/P1164.cpp @@ -0,0 +1,26 @@ +#include + +using namespace std; + +int main() { + int n, m, a[10005], f[10005][10005]; + cin >> n >> m; + for (int i = 1; i <= n; i++) { + cin >> a[i]; + } + for (int i = 1; i <= n; i++) { + for (int j = 1; j <= m; j++) { + if (j == a[i]) { + f[i][j] = f[i - 1][j] + 1; + } + if (j > a[i]) { + f[i][j] = f[i - 1][j] + f[i - 1][j - a[i]]; + } + if (j < a[i]) { + f[i][j] = f[i - 1][j]; + } + } + } + cout << f[n][m] << endl; + return 0; +}