結果

問題 No.1238 選抜クラス
ユーザー shiomusubi496
提出日時 2020-09-25 21:56:12
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 640 bytes
コンパイル時間 1,600 ms
コンパイル使用メモリ 168,852 KB
実行使用メモリ 6,948 KB
最終ジャッジ日時 2024-06-28 06:31:59
合計ジャッジ時間 2,662 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 24 WA * 12
権限があれば一括ダウンロードができます

ソースコード

diff #

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int mod=1000000007;
int dp[20100];
signed main(){
    int N,K;
    cin>>N>>K;
    vector<int> A(N);
    for(int &i:A){
        cin>>i;
        i-=K;
    }
    dp[10000]=1;
    for(int i=0;i<N;i++){
        if(A[i]<0){
            for(int j=-A[i];j<=20000;j++)dp[j+A[i]]=(dp[j+A[i]]+dp[j])%mod;
        }else if(A[i]>0){
            for(int j=20000-A[i];j>=0;j--)dp[j+A[i]]=(dp[j+A[i]]+dp[j])%mod;
        }else{
            for(int j=0;j<=20000;j++)dp[j]=dp[j]*2%mod;
        }
    }
    int ans=-1;
    for(int i=10000;i<=20000;i++)ans+=dp[i];
    cout<<ans<<endl;
}
0