HackerRank C- One Egg

“One Egg” is an egg supply company which supplies eggs to retailers. They have M classes of eggs. Each class can have N number of eggs (N can be the same or can vary class to class). They accept order via mail for X eggs. In response, they confirm if they can supply the eggs with a “Thank you” note and the number of eggs or with a “Sorry” note and the numbers of eggs they can supply. They also mention the breakdown of eggs by the class they will supply. The ordered eggs are adjusted against the different classes with the most number of eggs adjusted first then the balance is adjusted against the second-highest and so on. The company is a bit superstitious as well. If the number of eggs ordered is greater than or equal to the total number of eggs in stock then they retain one egg and responds back with the “Sorry” note with total number of eggs in stock minus one and breakdown of eggs by class.
Note: If the classes have the same number of eggs then class entered first should be selected to adjust.

  1. #include <stdio.h>
  2. int main() {
  3. int m,x,i,a[1000],sum=0,s;
  4. scanf("%d %d",&m,&x);
  5. for(i=0;i<m;i++)
  6. {
  7. scanf("%d",&a[i]);
  8. sum=sum+a[i];
  9. }
  10. if(sum>x)
  11. printf("Thank you, your order for %d eggs are accepted\n",x);
  12. else
  13. {
  14. printf("Sorry, we can only supply %d eggs\n",sum-1);
  15. x=sum-1;
  16. }
  17. for(i=0;i<m;i++)
  18. {
  19. if(x>=a[i])
  20. {
  21. printf("%d\t%d\t%d\n",a[i],a[i],0);
  22. x=x-a[i];
  23. }
  24. else if(x<a[i])
  25. {
  26. s=a[i]-x;
  27. printf("%d\t%d\t%d\n",a[i],x,s);
  28. x=0;
  29. }
  30. else if(x==0)
  31. printf("%d\t%d\t%d\n",a[i],0,a[i]);
  32. }
  33. return 0;
  34. }

download android app