Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <cstdio>#include <cstring>#include <cstdlib>#include <cmath>#include <iostream>#include <algorithm>#include <set>using namespace std;#define mod 1000000007typedef long long ll;const int N = 100005;ll dp[N];int a[105];int main(){int n, s, sum=0;scanf("%d%d", &n, &s);for(int i=1; i<=n; i++){scanf("%d", &a[i]);sum += a[i];}dp[0] = 1;sum -= s;sum /= 2;for(int i=1; i<=n; i++){for(int j=sum; j>=a[i]; j--){dp[j] += dp[j - a[i]];dp[j] %= mod;}}