-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathJUST2018F.java
More file actions
65 lines (47 loc) · 1.91 KB
/
Copy pathJUST2018F.java
File metadata and controls
65 lines (47 loc) · 1.91 KB
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
57
58
59
60
61
62
63
64
65
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class JUST2018F {
public static void main(String[] args) throws Exception {
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
int test = Integer.parseInt(input.readLine());
StringTokenizer tokenizer;
StringBuilder out = new StringBuilder();
for (int i = 0; i < test; i++) {
tokenizer = new StringTokenizer(input.readLine());
int n = Integer.parseInt(tokenizer.nextToken());
int m = Integer.parseInt(tokenizer.nextToken());
long hours = 0;
long minutes = 0;
for (int j = 0; j < n; j++) {
tokenizer = new StringTokenizer(input.readLine());
minutes += getWorkingHours(tokenizer.nextToken(), tokenizer.nextToken());
hours += minutes / 60;
minutes = minutes % 60;
}
if (hours >= m) {
out.append("YES").append("\n");
} else {
out.append("NO").append("\n");
}
}
System.out.println(out.toString().trim());
}
public static long getWorkingHours(String start, String end) throws Exception {
long count = 0;
StringTokenizer tokenizer = new StringTokenizer(start, ":");
int startHour = Integer.parseInt(tokenizer.nextToken());
int startMinutes = Integer.parseInt(tokenizer.nextToken());
tokenizer = new StringTokenizer(end, ":");
int endHour = Integer.parseInt(tokenizer.nextToken());
int endMinutes = Integer.parseInt(tokenizer.nextToken());
count += endMinutes;
if (startMinutes > 0) {
startHour++;
count += 60 - startMinutes;
}
int hours = endHour - startHour;
count += hours * 60;
return count;
}
}