Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.*;
- import java.util.*;
- class meetings {
- public static void main(String[] args) throws IOException {
- BufferedReader f = new BufferedReader(new FileReader("meetings.in"));
- PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("meetings.out")));
- StringTokenizer st = new StringTokenizer(f.readLine());
- int N = Integer.parseInt(st.nextToken());
- int L = Integer.parseInt(st.nextToken());
- int[][] cows = new int[N][3];
- int[][] cows2 = new int[N][3];
- ArrayList<Integer> trueOrder = new ArrayList<Integer>();
- int leftNum = 0;
- int rightNum = 0;
- for (int i = 0; i < N; i++) {
- st = new StringTokenizer(f.readLine());
- cows[i][0] = Integer.parseInt(st.nextToken());
- cows[i][1] = Integer.parseInt(st.nextToken());
- cows[i][2] = Integer.parseInt(st.nextToken());
- cows2[i][0] = cows[i][0];
- cows2[i][1] = cows[i][1];
- cows2[i][2] = cows[i][2];
- }
- Arrays.sort(cows, (a, b) -> Integer.compare(a[1], b[1]));
- for (int i = 0; i < N; i++)
- if (cows[i][2] == -1)
- trueOrder.add(i);
- for (int i = N - 1; i >= 0; i--)
- if (cows[i][2] == 1)
- trueOrder.add(i);
- for (int i = 0; i < N; i++) {
- cows2[trueOrder.get(i)][0] = cows[i][0];
- if (cows[i][2] == 1)
- cows2[i][1] = L - cows[i][1];
- }
- Arrays.sort(cows2, (a, b) -> Integer.compare(a[1], b[1]));
- int sum = 0;
- for (int i = 0; i < cows2.length; i++) {
- sum = sum + cows2[i][1];
- }
- int partial = 0;
- int index = 0;
- while (partial <= sum / 2) {
- partial = partial + cows2[index][1];
- index++;
- }
- index--;
- int time = cows2[index][1];
- int entropy1 = 0;
- for (int i = 0; i < cows.length; i++)
- if (cows[i][2] == -1)
- entropy1 = entropy1 + i;
- for (int i = 0; i < cows2.length; i++)
- cows2[index][1] = cows2[index][1] + cows2[index][2] * time;
- Arrays.sort(cows2, (a, b) -> Integer.compare(a[1], b[1]));
- int entropy2 = 0;
- for (int i = 0; i < cows2.length; i++)
- if (cows2[i][2] == -1)
- entropy2 = entropy2 + i;
- out.println(entropy1 - entropy2);
- out.close();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement