Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- int abs(int a){
- return (a < 0 ? a*-1 : a);
- }
- int min(int a,int b){
- return (a < b ? a : b);
- }
- int arr[55];
- int main(){
- int a,b;
- scanf("%d %d",&a,&b);
- int n = abs(a-b);
- int m;
- scanf("%d",&m);
- for(int i=1;i<=m;i++){
- scanf("%d",&arr[i]);
- }
- int dp[n+1];
- dp[0] = 0;
- for(int i=1;i<=n;i++)dp[i] = 2e9;
- for(int i=1;i<=m;i++){
- for(int j=1;j<=n;j++){
- if(j - arr[i] >= 0){
- dp[j] = min(dp[j],dp[j-arr[i]] + 1);
- }
- }
- }
- /* for(int i=0;i<=n;i++){
- printf("%d ",dp[i]);
- }
- printf("\n");*/
- printf("%d",(dp[n] == 2e9 ? -1 : dp[n]));
- }
Add Comment
Please, Sign In to add comment