public static void main(String[] args) throws FileNotFoundException,
			IOException {
		SJF s = new SJF();
		SJF sw = new SJF(); // z wywlaszczaniem

		// ==================================================================

		try (BufferedReader br = new BufferedReader(new FileReader(
				"wywl.txt"))) {
			StringBuilder sb = new StringBuilder();
			String line = br.readLine();

			while (line != null) {
				sb.append(line);
				// sb.append(",");
				line = br.readLine();

			}

			String everything = sb.toString();

			System.out.println(everything);

			StringTokenizer stringtokenizer = new StringTokenizer(everything,
					" ");
			while (stringtokenizer.hasMoreElements()) {
				// System.out.println(stringtokenizer.nextToken());
				
				int pomocnik = Integer.valueOf(stringtokenizer.nextToken());

				s.dodaj(pomocnik, 0);
				sw.dodaj(pomocnik, 0);
				stringtokenizer.nextToken();

			}
		}

		Collections.sort(s.cpu);
		Collections.sort(sw.cpu);
		// dodawanie procesw do pniejszego uruchomienia
		System.out.println("wygenerowano grup procesw");
		int a = 1;
		Scanner sc = new Scanner(System.in);
		while (a == 1) {
			System.out.println("Doda proces ? 1-tak 0-nie");
			a = sc.nextInt();
			if (a == 1) {
				System.out
						.println("podaj dugo procesu i kiedy ma zosta dodany");
				int x = sc.nextInt(), y = sc.nextInt();
				doDodania.add(new Proces(x, 0, ((long) y)));
			}
		}
		
		// ==================================================================

		while (!s.cpu.isEmpty()) {
			// wykonaj jeden takt, sprawd czy nie trzeba doda
			if (!doDodania.isEmpty()) {
				if (doDodania.get(0).getR() == zegar) { // dodaj, ale po
														// pierwszym procesie
					Proces p = s.cpu.get(0);
					s.cpu.remove(0);
					s.cpu.add(new Proces(doDodania.get(0).getT(), zegar));
					Collections.sort(s.cpu);
					s.cpu.add(0, p);
				}
				if (doDodania.get(0).getR() == zegar) {
					sw.cpu.add(new Proces(doDodania.get(0).getT(), zegar));
					Collections.sort(sw.cpu);
				}
				doDodania.remove(0);
			}
			s.wykonaj();
			sw.wykonaj();
			zegar++;
		}

		System.out.println("Statystyka dla SJF z wywaszczaniem");
		srednia(sw.o);
		mediana(sw.o);
		System.out.println("Statystyka dla SJF bez wywaszczania");
		srednia(s.o);
		mediana(s.o);
		sc.close();
	}