-
Notifications
You must be signed in to change notification settings - Fork 0
/
COOLING.java
56 lines (51 loc) · 1.5 KB
/
COOLING.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
class COOLING {
private final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
private final PrintWriter pw = new PrintWriter(new BufferedOutputStream(System.out));
public static void main(String[] args) throws IOException {
new COOLING().run();
}
private void run() throws IOException {
int T = Integer.parseInt(br.readLine());
while (T-- > 0) {
runTestCase();
}
pw.flush();
}
private void runTestCase() throws IOException {
Integer pieCount = Integer.parseInt(br.readLine());
List<Integer> pieWeights = readArrayInLine(" ");
List<Integer> towerLoads = readArrayInLine(" ");
Collections.sort(pieWeights);
Collections.sort(towerLoads);
Integer loadablePies = 0;
Integer towerIndex = 0;
for (Integer pieWeight : pieWeights) {
while (towerIndex < pieCount) {
if (towerLoads.get(towerIndex++) >= pieWeight) {
loadablePies++;
break;
}
}
if (towerIndex >= pieCount) {
break;
}
}
pw.println(loadablePies);
}
private List<Integer> readArrayInLine(String seperator) throws IOException {
String[] inputArray = br.readLine().split(seperator);
List<Integer> resultArray = new ArrayList<>();
for (String input : inputArray) {
resultArray.add(Integer.parseInt(input));
}
return resultArray;
}
}