Problem 158B- Taxi.. What did I do wrong?!!!

Revision en1, by thelili018, 2016-01-22 23:30:42

import java.util.Scanner;

public class Taxi2 {

public static void main (String[] args) {

    int n, x, count;
    int[] a;

    Scanner sc = new Scanner(System.in);
    n = sc.nextInt();
    a = new int[4];

    for(int i = 0; i < n; i++) {
       x = sc.nextInt();
       switch(x) {
       case 1: a[0]++; break;
       case 2: a[1]++; break;
       case 3: a[2]++; break;
       case 4: a[3]++; break;
       }
    }

    count = a[3];

    if(a[2] != 0 && a[0] != 0) {
       x = (a[2] >= a[0]) ? a[0] : a[2];
       for(int i = 0; i < x; i++) {
         a[2]--;
         a[0]--;
         count++;
       }
    }

    count += a[2];
    count += a[1] / 2;
    a[1] = a[1] % 2;

    if(a[1] != 0 && a[0] >= 2) {
       a[1]--;
       a[0] = a[0] - 2;
       count++;
    }
    else
       count += a[1];

    count += a[0] / 4;
    if(a[0] % 4 != 0)
       count++;

    System.out.println(count);
}

}

Tags 158b, taxi, java, beginner

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en1 English thelili018 2016-01-22 23:30:42 921 Initial revision (published)