add1ctus

Превоз

Mar 6th, 2016
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.63 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. int n,temp,sum=0,taxis=0,capacity=0;
  8. cin>>n;
  9. int kids[4]={0,0,0,0};
  10. for(int j=0;j<n;j++)
  11. {
  12. cin>>temp;
  13. kids[temp-1]++;
  14. sum++;
  15. }
  16. while(sum>0)
  17. {
  18. taxis++;
  19. capacity=4;
  20. if(kids[3]>0)
  21. {
  22. kids[3]--;
  23. sum--;
  24. }
  25. else
  26. {
  27. if(kids[2]>0)
  28. {
  29. kids[2]--;
  30. sum--;
  31. capacity-=3;
  32. }
  33. if(kids[1]>0 && capacity>=2)
  34. {
  35. if(kids[1]>1 && capacity==4)
  36. {
  37. kids[1]-=2;
  38. sum-=2;
  39. capacity=0;
  40. }
  41. else
  42. {
  43. kids[1]--;
  44. sum--;
  45. capacity-=2;
  46. }
  47. }
  48. if(kids[0]>0 && capacity>=1)
  49. {
  50. if(capacity==4 && kids[0]>=4)
  51. {
  52. kids[0]-=4;
  53. sum-=4;
  54. }
  55. else if(capacity>=3 && kids[0]>=3)
  56. {
  57. kids[0]-=3;
  58. sum-=3;
  59. }
  60. else if(capacity>=2 && kids[0]>=2)
  61. {
  62. kids[0]-=2;
  63. sum-=2;
  64. }
  65. else
  66. {
  67. kids[0]--;
  68. sum--;
  69. }
  70. }
  71. }
  72. }
  73. cout<<taxis<<endl;
  74. return 0;
  75. }
Add Comment
Please, Sign In to add comment