Rezultati

Up. imeNalogaJezikRezultatČas oddaje
pomaranca-2017 Akcija Java 0/100Prekoračen čas (TLE) 20. apr '17 @ 19:38

Test Točke Porabljen spomin Porabljen čas Status
#1 7/7 34,570 MiB 0,000 s OK
#2 0/7 36,941 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​V SMETI
OK
OK
AKCIJA
V SMETI
AKCIJA
Pravilen izhod:
​V SMETI
AKCIJA
AKCIJA
AKCIJA
V SMETI
AKCIJA
#3 7/7 39,660 MiB 0,000 s OK
#4 0/7 43,406 MiB 0,314 s Napačen odgovor
Tvoj izhod:
​OK
V SMETI
OK
V SMETI
OK
Pravilen izhod:
​AKCIJA
V SMETI
AKCIJA
V SMETI
OK
#5 0/8 85,922 MiB 1,792 s Prekoračen čas
#6 0/8 92,953 MiB 1,695 s Prekoračen čas
#7 0/8 88,254 MiB 1,894 s Prekoračen čas
#8 0/8 9,320 MiB 1,787 s Prekoračen čas
#9 0/8 87,379 MiB 1,868 s Prekoračen čas
#10 0/8 9,395 MiB 1,804 s Prekoračen čas
#11 0/8 86,711 MiB 1,694 s Prekoračen čas
#12 0/8 86,574 MiB 1,879 s Prekoračen čas
#13 8/8 36,090 MiB 0,000 s OK

Ocenjevani program (akcija.java):
import java.util.Scanner;
import java.util.Vector;

public class akcija {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Vector<String> meseci = new Vector<>();
		int[] dnevi = new int[12];
		int trenutniDan = 20;
		int trenutniMesec = 3;
		
		meseci.add("januar");
		meseci.add("februar");
		meseci.add("marec");
		meseci.add("april");
		meseci.add("maj");
		meseci.add("junij");
		meseci.add("julij");
		meseci.add("avgust");
		meseci.add("september");
		meseci.add("oktober");
		meseci.add("november");
		meseci.add("december");
		
		dnevi[0]= 31;
		dnevi[1]= 28;
		dnevi[2]= 31;
		dnevi[3]= 30;
		dnevi[4]= 31;
		dnevi[5]= 30;
		dnevi[6]= 31;
		dnevi[7]= 31;
		dnevi[8]= 30;
		dnevi[9]= 31;
		dnevi[10]= 30;
		dnevi[11]= 31;
		
		Scanner sc = new Scanner(System.in);
		int st_izdelkov = Integer.parseInt(sc.nextLine());
		String[] podatki = new String[st_izdelkov];
		for (int i = 0; i < podatki.length; i++) {
			podatki[i] = sc.nextLine();
		}
		
		for (int i = 0; i < podatki.length; i++) {
			String[] obdelava = podatki[i].split(" ");
			int kolicina = Integer.parseInt(obdelava[0]);
			float poraba = Float.parseFloat(obdelava[1]);
			int dan = Integer.parseInt(obdelava[2].substring(0, obdelava[2].length()-1));
			String mesec = obdelava[3];
			int leto = Integer.parseInt(obdelava[4]);
			
			if (meseci.indexOf(mesec) < trenutniMesec){
				System.out.println("V SMETI");
				continue;
			}
			if (meseci.indexOf(mesec) == trenutniMesec){
				if (dan < trenutniDan){
					System.out.println("V SMETI");
					continue;
				}
				//TODO: preračunaj dneve in porabo
				int st_dni = dan - trenutniDan;
				if (Math.ceil((float)kolicina/poraba) <= st_dni+1){
					System.out.println("OK");
				} else {
					System.out.println("AKCIJA");
				}
				continue;
			}
			
			if (meseci.indexOf(mesec) > trenutniMesec){
				int st_dni = 0;
				//do konca meseca #dni
				st_dni += dnevi[meseci.indexOf(mesec)] - trenutniDan;
//				System.out.println("dnevi v tem mesecu " + st_dni);
				//#dni v vmesnih mesecih
				for (int j = trenutniMesec+1; j < meseci.indexOf(mesec); j++){
//					System.out.println("j: " + dnevi[j]);
					st_dni += dnevi[j];
//					System.out.print(dnevi[meseci.indexOf(j)] + " ");
				}
//				System.out.println("dnevi po vmesnih mesecih " + st_dni);
				//#dni v zadnjem mesecu
				st_dni += dan;
				
				if (Math.ceil((float)kolicina/poraba) <= st_dni+1){
					System.out.println("OK");
				} else {
					System.out.println("AKCIJA");
				}
				continue;
				
			}
			
			
			
//			System.out.println(kolicina + " " + poraba + " " + dan + " " + mesec + " " + leto);
		}
		
	}

}