SuitNdtie

Sergeant EXAM07

Mar 28th, 2019
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.59 KB | None | 0 0
  1. #include<stdio.h>
  2.  
  3. int abs(int a){
  4.     return (a < 0 ? a*-1 : a);
  5. }
  6. int min(int a,int b){
  7.     return (a < b ? a : b);
  8. }
  9. int arr[55];
  10. int main(){
  11.     int a,b;
  12.     scanf("%d %d",&a,&b);
  13.     int n = abs(a-b);
  14.    
  15.     int m;
  16.     scanf("%d",&m);
  17.     for(int i=1;i<=m;i++){
  18.         scanf("%d",&arr[i]);
  19.     }
  20.     int dp[n+1];
  21.     dp[0] = 0;
  22.     for(int i=1;i<=n;i++)dp[i] = 2e9;
  23.    
  24.     for(int i=1;i<=m;i++){
  25.         for(int j=1;j<=n;j++){
  26.             if(j - arr[i] >= 0){
  27.                 dp[j] = min(dp[j],dp[j-arr[i]] + 1);
  28.             }
  29.         }
  30.     }
  31. /*  for(int i=0;i<=n;i++){
  32.         printf("%d ",dp[i]);
  33.     }
  34.     printf("\n");*/
  35.     printf("%d",(dp[n] == 2e9 ? -1 : dp[n]));
  36. }
Add Comment
Please, Sign In to add comment