Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- struct answer{
- int sum;
- int number;
- };
- void pdc(int* coins,int lines, int price, int total){
- int matrix[lines+1][price+1];
- for(int i = 0; i <= lines; i++){
- for(int j = 0; j <= price; j++){
- if(i == 0){
- matrix[i][j] = total;
- }else{
- if(coins[i-1] <= j){
- if(coins[i-1] < matrix[i-1][j]){
- matrix[i][j] = coins[i-1] + matrix[i-1][j-(coins[i-1])];
- }else{
- matrix[i][j] = matrix[i-1][j];
- }
- }else{
- matrix[i][j] = min(coins[i-1], matrix[i-1][j]);
- }
- }
- }
- }
- cout << matrix[lines][price] << endl;
- }
- int main(){
- int n, price, m, total = 0;;
- cin >> n;
- cin >> price;
- cin >> m;
- int coins[m];
- for(int j = 0; j < n; j ++){
- for(int i = 0; i < m; i++){
- cin >> coins[i];
- total += coins[i];
- }
- pdc(coins, m, price,total);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement