Pagini recente » Cod sursa (job #2627296) | Cod sursa (job #1387701) | Cod sursa (job #2838556) | Cod sursa (job #2680276) | Cod sursa (job #3242409)
//package cutii;
import java.io.*;
import java.util.*;
public class Main {
static final String INPUT_FILE = "cutii.in";
static final String OUTPUT_FILE = "cutii.out";
public static class TokenizedReader {
private final BufferedReader reader;
private StringTokenizer tokenizer;
TokenizedReader(String filePath) throws FileNotFoundException {
reader = new BufferedReader(new FileReader(filePath));
}
private String nextToken() {
while (tokenizer == null || !tokenizer.hasMoreTokens()) {
try {
tokenizer = new StringTokenizer(reader.readLine());
} catch (IOException e) {
throw new RuntimeException(e);
}
}
return tokenizer.nextToken();
}
private int nextInt() {
return Integer.parseInt(nextToken());
}
public void close() throws IOException {
reader.close();
}
}
public static void main(String[] args) throws IOException {
TokenizedReader reader = new TokenizedReader(INPUT_FILE);
PrintWriter writer = new PrintWriter(OUTPUT_FILE);
solve(reader, writer);
reader.close();
writer.flush();
writer.close();
}
public record Box(int x, int y, int z) {
}
public static void solve(TokenizedReader reader,
PrintWriter writer) {
int n = reader.nextInt();
int t = reader.nextInt();
while (t-- > 0) {
List<Box> boxes = new ArrayList<>();
for (int i = 0; i < n; ++i) {
int x = reader.nextInt();
int y = reader.nextInt();
int z = reader.nextInt();
boxes.add(new Box(x, y, z));
}
boxes.sort((b0, b1) -> {
int temp = Integer.compare(b0.x, b1.x);
if (temp == 0) {
temp = Integer.compare(b0.y, b1.y);
if (temp == 0) {
temp = Integer.compare(b1.z, b0.z);
return temp;
}
return temp;
}
return temp;
});
List<Integer> nums = boxes.stream().map(it -> it.z).toList();
TreeSet<Integer> lis = new TreeSet<>();
lis.add(nums.get(0));
for (int i = 1; i < nums.size(); ++i) {
int num = nums.get(i);
Integer ceiling = lis.ceiling(num);
if (ceiling == null) {
lis.add(num);
} else {
lis.remove(ceiling);
lis.add(num);
}
}
writer.println(lis.size());
}
}
}