Submission #1237425

#TimeUsernameProblemLanguageResultExecution timeMemory
1237425opeleklanosMagneti (COCI21_magneti)C++20
0 / 110
4 ms4160 KiB
#include <iostream> #include <vector> #include <algorithm> using namespace std; #define ll long long #define MOD (ll)(1e9 + 7) int main(void){ // freopen("input.txt", "r", stdin); ll n, s; cin>>n>>s; vector<vector<ll>> dp(n, vector<ll>(s, 0)); vector<ll> mag(n, 0); for(ll i = 0; i<n; i++) cin>>mag[i]; for(ll i = 0; i<n; i++){ for(ll j = 0; j<s; j++){ if(i == 0&&j == 0) {dp[i][j] = 1; continue;} if(i == 0) (dp[i][j] += 1) % MOD; if(j - mag[0]>=0 && i>0) (dp[i][j] += dp[i-1][j-mag[0]])%MOD; if(j>0) (dp[i][j] += dp[i][j-1])%MOD; dp[i][j] %= MOD; } } ll exp = 1; for(ll i = 1; i<=n; i++) (exp*=i)%MOD; cout<<(dp[n-1][s-1] * exp) %MOD<<'\n'; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...