[Java] Milking Cows
程序员文章站
2022-03-19 15:41:35
/* Use the slash-star style comments or the system won't see your identification information *//*ID: lincans1LANG: JAVATASK: milk2 */import java.io.*;import java.util.*;public class milk2 {private final int MAXLENGTH = 1000000;public milk2(...
/* Use the slash-star style comments or the system won't see your
identification information */
/*
ID: lincans1
LANG: JAVA
TASK: milk2
*/
import java.io.*;
import java.util.*;
public class milk2 {
private final int MAXLENGTH = 1000000;
public milk2() throws IOException {
// Use BufferedReader rather than RandomAccessFile; it's much faster
BufferedReader f = new BufferedReader(new FileReader("milk2.in"));
PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("milk2.out")));
int N = Integer.parseInt(f.readLine());
boolean[] flag = new boolean[MAXLENGTH];
int start = Integer.MAX_VALUE, end = Integer.MIN_VALUE;
for (int i = 0; i < N; i++) {
StringTokenizer st = new StringTokenizer(f.readLine());
int s = Integer.parseInt(st.nextToken());
int e = Integer.parseInt(st.nextToken());
start = Math.min(start, s);
end = Math.max(end, e);
while (s < e) {
flag[s++] = true;
}
}
int maxContinuous = 0, maxIdle = 0;
while (start < end) {
int continuous = 0, idle = 0;
while (start < end && flag[start]) {
continuous++;
start++;
}
while (start < end && !flag[start]) {
idle++;
start++;
}
maxContinuous = Math.max(maxContinuous, continuous);
maxIdle = Math.max(maxIdle, idle);
// System.out.println(maxContinuous + " " + maxIdle);
}
out.println(maxContinuous + " " + maxIdle);
out.close();
}
public static void main (String [] args) throws IOException {
new milk2();
}
}
本文地址:https://blog.csdn.net/weixin_41714373/article/details/111888485