544C - Writing Code - CodeForces Solution


dp *1800

Please click on ads to support us..

C++ Code:

#include <bits/stdc++.h>
using namespace std;
#define MOEZ ios_base::sync_with_stdio(false);cin.tie(NULL),cout.tie(NULL);
typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;
#define F first
#define S second
#define pb push_back
#define all(v) v.begin() , v.end()
#define eb emplace_back
#define getunique(v) {sort(v.begin(), v.end()); v.erase(unique(v.begin(), v.end()), v.end());}
#define mem(d , x) memset(d , x , sizeof(d));
#define sz(x) (int)x.size()
const int N = 1e3+5;
//const int M = 1e9+7;
//const ll inf = 1e18;
//const ld eps = 1e-6;
#define int long long
int n , m , b , M , a[501];
int dp[2][501][501];
signed main(){
    MOEZ
    cin >> n >> m >> b >> M;
    for(int i = 0; i < n;i++){
        cin >> a[i];
    }
    dp[0][0][0] = 1;
    bool f = true;
    for(int i = 0; i < n;i++){
        for(int j = 0; j <= m;j++){
            for(int k = 0; k <= b;k++){
                dp[f][j][k] = dp[(f^1)][j][k];
                if(j && k-a[i] >= 0){
                    dp[f][j][k] += dp[f][j-1][k-a[i]];
                }
                dp[f][j][k] %= M;
            }
        }
        f ^= 1;
    }
    int ans = 0;
    for(int i = 0; i <= b;i++){
        ans += dp[(f^1)][m][i];
        ans %= M;
    }
    cout << ans;
}
				  		  		  	  			  				 	  	


Comments

Submit
0 Comments
More Questions

1330A - Dreamoon and Ranking Collection
1692B - All Distinct
1156C - Match Points
1675A - Food for Animals
1328C - Ternary XOR
1689A - Lex String
1708B - Difference of GCDs
863A - Quasi-palindrome
1478A - Nezzar and Colorful Balls
1581B - Diameter of Graph
404A - Valera and X
908A - New Year and Counting Cards
146A - Lucky Ticket
1594C - Make Them Equal
1676A - Lucky
1700B - Palindromic Numbers
702C - Cellular Network
1672C - Unequal Array
1706C - Qpwoeirut And The City
1697A - Parkway Walk
1505B - DMCA
478B - Random Teams
1705C - Mark and His Unfinished Essay
1401C - Mere Array
1613B - Absent Remainder
1536B - Prinzessin der Verurteilung
1699B - Almost Ternary Matrix
1545A - AquaMoon and Strange Sort
538B - Quasi Binary
424A - Squats