結果
| 問題 |
No.70 睡眠の重要性!
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-10-18 22:49:40 |
| 言語 | Java (openjdk 23) |
| 結果 |
AC
|
| 実行時間 | 74 ms / 5,000 ms |
| コード長 | 1,830 bytes |
| コンパイル時間 | 7,818 ms |
| コンパイル使用メモリ | 83,344 KB |
| 実行使用メモリ | 45,096 KB |
| 最終ジャッジ日時 | 2025-10-18 22:49:50 |
| 合計ジャッジ時間 | 4,326 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 6 |
ソースコード
import java.io.*;
import java.util.*;
import java.util.stream.*;
// 処理
class Process {
private int[] H;
private int[] M;
private int[] h;
private int[] m;
Process(int[] H, int[] M, int[] h, int[] m) {
this.H = H;
this.M = M;
this.h = h;
this.m = m;
}
// 引数で与えられる時刻について、 0 時 0 分 から何分経っているか
private int minute(int hour, int minute) {
return ((hour * 60) + minute);
}
int getResult() {
int sleepTime = 0;
int sumOfSleepTime = 0;
for(int i = 0; i < H.length; i++) {
sleepTime = (minute(h[i], m[i]) - minute(H[i], M[i]));
if(sleepTime < 0) {
sleepTime += minute(24, 0);
}
sumOfSleepTime += sleepTime;
}
return sumOfSleepTime;
}
}
public class Main {
public static void main(String[] args) throws IOException {
var bufferedReader = new BufferedReader(new InputStreamReader(System.in));
var printWriter = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));
// 入力
int N = Integer.parseInt(bufferedReader.readLine().trim());
var H = new int[N];
var M = new int[N];
var h = new int[N];
var m = new int[N];
for(int i = 0; i < N; i++) {
int[] input = Stream.of(bufferedReader.readLine().trim().split("[: ]+")).mapToInt(Integer::parseInt).toArray();
H[i] = input[0];
M[i] = input[1];
h[i] = input[2];
m[i] = input[3];
}
// 出力
printWriter.println((new Process(H, M, h, m)).getResult());
bufferedReader.close();
printWriter.close();
}
}