結果
問題 |
No.652 E869120 and TimeZone
|
ユーザー |
![]() |
提出日時 | 2020-08-16 06:40:47 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 1,176 bytes |
コンパイル時間 | 2,307 ms |
コンパイル使用メモリ | 194,172 KB |
最終ジャッジ日時 | 2025-01-13 01:55:25 |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 5 |
other | AC * 30 |
ソースコード
#include "bits/stdc++.h" using namespace std; typedef long long int ll; typedef pair<ll, ll > pi; typedef pair<pair<ll, ll >, ll > pii; vector<ll > vec; vector<ll > vec2; ll MOD = 1000000007; ll INF = 1145141919454519; //謎の誤差が発生したのでstod使うのやめた int main() { ll a, b; cin >> a >> b; ll minute = a * 60 + b; //cout << minute << endl; string s; cin >> s; //double t = stod(s.substr(3,s.length()-3)); //double sabun = (t - 9) * 60; string st = s.substr(3,s.length()-3); ll len = st.length(); ll tt = 0; if(len == 2){ tt = (st[1]-'0') * 60; }else if(len == 3){ tt = ((st[1]-'0') * 10 + (st[2]-'0')) * 60; }else if(len == 4){ tt = (st[1]-'0') * 60 + (st[3]-'0') * 6; }else{ tt = ((st[1]-'0')* 10 + (st[2]-'0')) * 60 + (st[4]-'0') * 6; } if(st[0] == '-') tt *= -1; minute += tt - 9 * 60; if(minute < 0){ minute += 24 * 60; } if(minute >= 24 * 60){ minute -= 24 * 60; } cout << setw(2) << setfill('0') << minute / 60 << ":" ; cout << setw(2) << setfill('0') << minute % 60 << endl; }