Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
113604 | 梁乃元 | 目标和 | C++ | 通过 | 100 | 0 MS | 256 KB | 546 | 2023-12-02 11:14:56 |
# include <bits/stdc++.h> using namespace std ; int a [114514] ; int m , n , cnt = 0 ; void dfs ( int cur , int s1 , int s2 ) { if ( cur >= m && abs ( s1 - s2 ) == n ) { cnt ++ ; return ; } else if ( cur <= m ) { dfs ( cur + 1 , s1 + a [cur] , s2 ) ; dfs ( cur + 1 , s1 , s2 + a [cur] ) ; } else { return ; } } int main ( ) { cin >> m >> n ; for ( int i = 1 ; i <= m ; i ++ ) { cin >> a [i] ; } sort ( a + 1 , a + m + 1 ) ; dfs ( 1 , 0 , 0 ) ; cout << cnt / 2 << endl ; return 0 ; }