hiho week 212 register

Ended

Participants:168

Verdict:Accepted
Score:100 / 100
Submitted:2018-07-26 09:57:20

Lang:G++

Edit
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
    #include <cstdio>
    #include <cstring>
    #include <cstdlib>
    #include <cmath>
    #include <iostream>
    #include <algorithm>
    #include <set>
    using namespace std;
    #define mod 1000000007
    typedef 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;
            }
        }
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX