結果
問題 | No.652 E869120 and TimeZone |
ユーザー |
![]() |
提出日時 | 2018-02-23 22:36:47 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 126 ms / 1,000 ms |
コード長 | 2,658 bytes |
コンパイル時間 | 2,618 ms |
コンパイル使用メモリ | 78,128 KB |
実行使用メモリ | 41,208 KB |
最終ジャッジ日時 | 2024-06-11 12:18:46 |
合計ジャッジ時間 | 8,014 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 5 |
other | AC * 30 |
ソースコード
import java.io.BufferedReader; import java.io.Closeable; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.PrintWriter; import java.util.Arrays; import java.util.LinkedList; import java.util.StringTokenizer; public class Main { public static final long INF = Long.MAX_VALUE / 2 -1; public static void main(String[] args) throws IOException { try (Scanner sc = new Scanner(System.in)) { final int h = sc.nextInt(); final int m = sc.nextInt(); int minutes = h * 60 + m; String str = sc.next().substring(3); if(str.charAt(0) == '-'){ str = str.substring(1); if(str.indexOf(".") < 0){ minutes -= 60 * (Integer.parseInt(str) + 9); }else{ minutes -= 60 * (Integer.parseInt(str.substring(0, str.indexOf("."))) + 9); final String lower = str.substring(str.indexOf(".") + 1); minutes -= 6 * Integer.parseInt(lower); } while(minutes < 0){ minutes += 60 * 24; } }else{ if(str.indexOf(".") < 0){ minutes += 60 * (Integer.parseInt(str) - 9); }else{ minutes += 60 * (Integer.parseInt(str.substring(0, str.indexOf("."))) - 9); final String lower = str.substring(str.indexOf(".") + 1); minutes += 6 * Integer.parseInt(lower); } while(minutes < 0){ minutes += 60 * 24; } } System.out.printf("%02d:%02d\n", (minutes / 60) % 24, minutes % 60); } } public static class Scanner implements Closeable { private BufferedReader br; private StringTokenizer tok; public Scanner(InputStream is) throws IOException { br = new BufferedReader(new InputStreamReader(is)); } private void getLine() throws IOException { while (!hasNext()) { tok = new StringTokenizer(br.readLine()); } } private boolean hasNext() { return tok != null && tok.hasMoreTokens(); } public String next() throws IOException { getLine(); return tok.nextToken(); } public int nextInt() throws IOException { return Integer.parseInt(next()); } public long nextLong() throws IOException { return Long.parseLong(next()); } public double nextDouble() throws IOException { return Double.parseDouble(next()); } public int[] nextIntArray(int n) throws IOException { final int[] ret = new int[n]; for (int i = 0; i < n; i++) { ret[i] = this.nextInt(); } return ret; } public long[] nextLongArray(int n) throws IOException { final long[] ret = new long[n]; for (int i = 0; i < n; i++) { ret[i] = this.nextLong(); } return ret; } public void close() throws IOException { br.close(); } } }