Advertisement
Guest User

Untitled

a guest
May 21st, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.86 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. struct answer{
  6.     int sum;
  7.     int number;
  8. };
  9.  
  10. void pdc(int* coins,int lines, int price, int total){
  11.     int matrix[lines+1][price+1];
  12.     for(int i = 0; i <= lines; i++){
  13.         for(int j = 0; j <= price; j++){
  14.             if(i == 0){
  15.                 matrix[i][j] = total;
  16.             }else{
  17.                 if(coins[i-1] <= j){
  18.                     if(coins[i-1] < matrix[i-1][j]){
  19.                         matrix[i][j] = coins[i-1] + matrix[i-1][j-(coins[i-1])];
  20.                     }else{
  21.                         matrix[i][j] = matrix[i-1][j];
  22.                     }
  23.                 }else{
  24.                     matrix[i][j] = min(coins[i-1], matrix[i-1][j]);
  25.                 }  
  26.             }
  27.         }
  28.     }
  29.     cout << matrix[lines][price] << endl;
  30. }
  31.  
  32. int main(){
  33.     int n, price, m, total = 0;;
  34.     cin >> n;
  35.     cin >> price;
  36.     cin >> m;
  37.     int coins[m];
  38.     for(int j = 0; j < n; j ++){
  39.         for(int i = 0; i < m; i++){
  40.         cin >> coins[i];
  41.         total += coins[i];
  42.         }
  43.     pdc(coins, m, price,total);
  44.     }
  45.    
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement