package dancinggooglers;

import java.io.File;
import java.util.Scanner;

public class DanceScoreCalculator {


    public static void main(String[] args) {
        if(args.length <= 0 || args[0] == null) {
            System.out.println("You must enter a file to read");
            System.out.println("Usage: blah <filename>");
            System.exit(0);
        }

        File argFile = new File(args[0]);
        try {
            Scanner googleSpeakScanner = new Scanner(argFile);
            String firstLine = googleSpeakScanner.nextLine();
            Integer linesToScan = new Integer(firstLine);
            for(int i = 1; i <= linesToScan; i++) {
                String googleDancerLine = googleSpeakScanner.nextLine();
                DanceScoreCase danceCase = new DanceScoreCase(googleDancerLine);
                System.out.println(String.format("Case #%d: %d", i, danceCase.maxDancersThatCouldPass()));
            }
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }
}

import java.util.ArrayList;
import java.util.List;


public class Main {
	
	public static void main(String[] args) {
		List<String> lstLinesOutput = new ArrayList<String>();
		
		List<String> lstLinesInput = FileReaderHandler.openFile("/home/guillaume/Bureau/input");
		for(int n=1;n< Integer.parseInt(lstLinesInput.get(0)) + 1;n++){
			System.out.println("Case " + n);
			String sOutput = "Case #" + n + ": ";
			String sInput = lstLinesInput.get(n);
			String[] hInput = sInput.split(" ");
			//to int array
			int[] iInput = new int[hInput.length];
			for(int i=0;i < hInput.length;i++){
				iInput[i] = Integer.parseInt(hInput[i]);
			}
			int iNbSurprising = iInput[1];
			int iToBeat = iInput[2];
			int iNbAnswers = 0;
			for(int i=0;i<iInput[0];i++){
				int iScore = iInput[i+3];
				if(iScore > 0){
					int iBase = iScore/3;
					int iReste = iScore%3;
					if(iBase >= iToBeat || iReste  > 0 && iBase + 1 >= iToBeat){
						iNbAnswers++;
					}else if(iNbSurprising > 0 && (iReste == 0 && iBase + 1 >= iToBeat || iReste == 2 && iBase + 2 >= iToBeat)){
						iNbAnswers++;
						iNbSurprising--;
					}
				} else if(iToBeat == 0){
					iNbAnswers++;
				}
			}
			sOutput += iNbAnswers;
			lstLinesOutput.add(sOutput);
		}
		
		if(Integer.parseInt(lstLinesInput.get(0)) != lstLinesOutput.size()){
			System.out.println("ERROR!!!");
		}
		FileWriterHandler.writeToFile(lstLinesOutput);
	}
}