Advertisement
Guest User

Untitled

a guest
Mar 28th, 2017
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.12 KB | None | 0 0
  1. #include<stdio.h>
  2. struct euei
  3. {
  4.     //struct euei a;
  5.     int pre,val;
  6. }q[1000001];
  7. int coin[11];
  8. int ans[11],ans2[11];
  9. int main()
  10. {
  11.     int min=99999999,loc;
  12.     q[1].val=1;
  13.     q[1].pre=0;
  14.     int p,m,k;
  15.     scanf("%d %d %d",&p,&m,&k);
  16.     for(int i=0;i<k;i++)
  17.     {
  18.         scanf("%d",&coin[i]);
  19.         q[coin[i]].val=1;
  20.         q[coin[i]].pre=0;
  21.     }
  22.     for(int i=1;i<=m;i++)
  23.     {
  24.         if(q[i].val!=0)
  25.         {
  26.             for(int t=0;t<k;t++)
  27.             {
  28.                 if(i+coin[t]<=m && (q[i+coin[t]].val>q[i].val+1 || q[i+coin[t]].val==0))
  29.                 {
  30.                     q[i+coin[t]].val=q[i].val+1;
  31.                     q[i+coin[t]].pre=i;
  32.                 }
  33.             }
  34.         }
  35.     }
  36.  
  37.     int pay,cha,ma,mi;
  38.     for(int i=p;i<=m;i++)
  39.     {
  40.         pay=q[i].val;
  41.         cha=q[i-p].val;
  42.         if(pay+cha<min)
  43.         {
  44.             min=pay+cha;
  45.             loc=i;
  46.             ma=pay;
  47.             mi=cha;
  48.         }
  49.     }
  50.     cha=loc-p;
  51.     printf("%d %d\n",ma,mi);
  52.     while(loc!=0)
  53.     {
  54.         for(int i=0;i<k;i++)
  55.         if(loc-q[loc].pre==coin[i]) ans[i]++;
  56.         loc=q[loc].pre;
  57.     }
  58.     for(int i=0;i<k;i++)
  59.     {
  60.         printf("%d ",ans[i]);
  61.     }
  62.     loc=cha;
  63.     printf("\n");
  64.     while(loc !=0)
  65.     {
  66.         for(int i=0;i<k;i++)
  67.         if(loc-q[loc].pre==coin[i]) ans2[i]++;
  68.         loc=q[loc].pre;
  69.     }
  70.     for(int i=0;i<k;i++)
  71.     {
  72.         printf("%d ",ans2[i]);
  73.     }
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement