結果
問題 | 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();}}}