SHARE
TWEET

Untitled

a guest Jul 18th, 2019 71 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <stdio.h>
  2. int main () {
  3.  
  4.     int n,i,a,four=0,three=0,two=0,one=0,cnt1,cnt2,cnt3,sum,cnt4,rem,sum1;
  5.     scanf("%d",&n);
  6.     for(i=0; i<n; i++){
  7.         scanf("%d",&a);
  8.         if(a==1) one++;
  9.         if(a==2) two++;
  10.         if(a==3) three++;
  11.         if(a==4) four++;
  12.     }
  13.                 if((one>0 && two>0 && three==0 && four>0)){
  14.                     if(two%2==0){
  15.                         cnt1=two/2;
  16.                         rem=0;
  17.                 }
  18.                     else if(two%2!=0){
  19.                         cnt1=two/2;
  20.                         rem=2;
  21.                 }
  22.                 sum1=rem+one;
  23.                 if(sum1%4==0) cnt2=sum/4;
  24.                 else cnt2=(sum1/4)+1;
  25.  
  26.                 sum=cnt1+cnt2+four;
  27.                 printf("%d\n",sum);
  28.                 }
  29.             else if(one>0 && two==0 && three>0 && four>0){
  30.                 if(one==three){
  31.                     cnt1=(one+three)/2;
  32.                 }
  33.                 if(one>three){
  34.                     rem=one-three;
  35.                     if(rem%4==0) cnt1=rem/4;
  36.                     else if (rem<4) cnt1=1;
  37.                     else if (rem>4) cnt1= (rem/4)+1;
  38.  
  39.                 }
  40.                 if(one<three){
  41.                     rem=three-one;
  42.                     cnt1=rem+one;
  43.                 }
  44.                 sum=four+cnt1;
  45.                 printf("%d\n",sum);
  46.             }
  47.             else if(one==0 && two>0 && three>0 && four>0){
  48.                 if(two%2==0) cnt1=two/2;
  49.                 else cnt1= (two/2)+1;
  50.                 sum=three+four+cnt1;
  51.                 printf("%d\n",sum);
  52.             }
  53.             else if(one>0 && two>0 && three>0 && four==0){
  54.                 if(one==three){
  55.                     cnt1=(one+three)/2;
  56.                     if(two%2==0) cnt2 =two/2;
  57.                     else cnt2=(two/2)+1;
  58.                     sum= cnt1+cnt2;
  59.                     printf("%d\n",sum);
  60.                     return 0;
  61.                 }
  62.                 if(one>three){
  63.                     rem=one-three;
  64.                     cnt1=three;
  65.                     if(two%2==0) cnt2 =two/2;
  66.                     else {
  67.                         sum1= (two*2)+rem;
  68.                         if(sum1%4==0) cnt2=sum1/4;
  69.                         else cnt2= (sum1/4)+1;
  70.                     }
  71.                     sum= cnt1+cnt2;
  72.                     printf("%d\n",sum);
  73.                     return 0;
  74.                 }
  75.                if(one<three){
  76.                     rem=three-one;
  77.                     cnt1= rem+ one;
  78.                      if(two%2==0) cnt2=two/2;
  79.                         else cnt2= (two/2)+1;
  80.                     sum= cnt1+cnt2;
  81.                     printf("%d\n",sum);
  82.                     return 0;
  83.                 }
  84.             }
  85.             else if (one==0 && two==0 && three!=0 && four!=0){
  86.                 sum=three+four;
  87.                 printf("%d\n",sum);
  88.                     return 0;
  89.             }
  90.             else if (one!=0 && two==0 && three==0 && four!=0){
  91.                 if(one%4==0) cnt1= one/4;
  92.                 else cnt1= (one/a)+1;
  93.  
  94.                 sum= cnt1+four;
  95.                 printf("%d\n",sum);
  96.                     return 0;
  97.             }
  98.             else if (one!=0 && two!=0 && three==0 && four==0){
  99.                 sum1=(two*2)+one;
  100.                 if(sum1%4==0) cnt1=sum1/4;
  101.                 else cnt1= (sum1/4)+1;
  102.                 sum=cnt1;
  103.                 printf("%d\n",sum);
  104.                     return 0;
  105.             }
  106.             else if(one==0 && two!=0 && three!=0 && four==0){
  107.                 sum= two+three;
  108.                 printf("%d\n",sum);
  109.                     return 0;
  110.             }
  111.             else if (one!=0 && two==0 && three!=0 && four==0){
  112.                     if(one==three){
  113.                     cnt1=(one+three)/2;
  114.                 }
  115.                 if(one>three){
  116.                     rem=one-three;
  117.                     if(rem%4==0) cnt1=rem/4;
  118.                     else if (rem<4) cnt1=1;
  119.                     else if (rem>4) cnt1= (rem/4)+1;
  120.  
  121.                 }
  122.                 if(one<three){
  123.                     rem=three-one;
  124.                     cnt1=rem+one;
  125.  
  126.                 }
  127.                     printf("%d\n",cnt1);
  128.                     return 0;
  129.             }
  130.             else if (one==0 && two==0 && three==0 && four!=0){
  131.                     printf("%d\n",four);
  132.                     return 0;
  133.             }
  134.             else if (one==0 && two!=0 && three==0 && four==0){
  135.                     if(two%2==0) sum= two/2;
  136.                     else sum=(two/2)+1;
  137.                     printf("%d\n",sum);
  138.                     return 0;
  139.             }
  140.             else if (one!=0 && two==0 && three==0 && four==0){
  141.                 if(one%4==0) sum= one/4;
  142.                 else sum=(one/4)+1;
  143.                 printf("%d\n",sum);
  144.                     return 0;
  145.             }
  146.             else if (one==0 && two==0 && three!=0 && four==0){
  147.                 printf("%d\n",three);
  148.                     return 0;
  149.             }
  150.             else if(one!=0 && two!=0 && three!=0 && four!=0){
  151.                 if(one==three){
  152.                     cnt1=(one+three)/2;
  153.                     if(two%2==0) cnt2 =two/2;
  154.                     else cnt2=(two/2)+1;
  155.                     sum= cnt1+cnt2+four;
  156.                     printf("%d\n",sum);
  157.                     return 0;
  158.                 }
  159.                 if(one>three){
  160.                     rem=one-three;
  161.                     cnt1=three;
  162.                     if(two%2==0) cnt2 =two/2;
  163.                     else {
  164.                         sum1= (two*2)+rem;
  165.                         if(sum1%4==0) cnt2=sum1/4;
  166.                         else cnt2= (sum1/4)+1;
  167.                     }
  168.                     sum= cnt1+cnt2+four;
  169.                     printf("%d\n",sum);
  170.                     return 0;
  171.                     }
  172.                 if(one<three){
  173.                         rem=three-one;
  174.                         cnt1=rem+one;
  175.                         if(two%2==0) cnt2=two/2;
  176.                         else cnt2= (two/2)+1;
  177.                         sum= cnt1+cnt2+four;
  178.                         printf("%d\n",sum);
  179.                         return 0;
  180.                     }
  181.             }
  182.  
  183. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top