Submission #1061248
Source Code Expand
#include "bits/stdc++.h" using namespace std; //#define int long long #define DBG 1 #define dump(o) if(DBG){cerr<<#o<<" "<<(o)<<" ";} #define dumpl(o) if(DBG){cerr<<#o<<" "<<(o)<<endl;} #define dumpc(o) if(DBG){cerr<<#o; for(auto &e:(o))cerr<<" "<<e;cerr<<endl;} #define rep(i,a,b) for(int i=(a);i<(b);i++) #define rrep(i,a,b) for(int i=(b)-1;i>=(a);i--) #define all(c) begin(c),end(c) const int INF = sizeof(int) == sizeof(long long) ? 0x3f3f3f3f3f3f3f3fLL : 0x3f3f3f3f; const int MOD = (int)(1e9 + 7); class Time { private: int time(int hours = 0, int minutes = 0, int seconds = 0) { return hours * 3600 + minutes * 60 + seconds; } public: int t; Time(int time = 0) :t(time) {} Time(int hours, int minutes, int seconds = 0) : t(time(hours, minutes, seconds)) {} Time(const string &hhmm) { int hours = stoi(hhmm.substr(0, 2)); int minutes = stoi(hhmm.substr(hhmm.size() - 2, 2)); t = time(hours, minutes); } Time operator+(const Time &that) const { return Time(t + that.t); } Time operator-(const Time &that) const { return Time(t - that.t); } Time &operator+=(const Time &that) { t += that.t; return *this; } Time &operator-=(const Time &that) { t -= that.t; return *this; } bool operator==(const Time &that) const { return t == that.t; } bool operator<(const Time &that) const { return t < that.t; } int hours() { return t / 3600; } int minutes() { return (t % 3600) / 60; } int seconds() { return t % 60; } string hhmm() { ostringstream os; os << setw(2) << setfill('0') << hours() << setw(2) << setfill('0') << minutes(); return os.str(); } }; #define MAX 24 * 60 + 10 signed main() { int N; cin >> N; int imos[MAX] = {}; rep(i, 0, N) { string s; cin >> s; Time S(s.substr(0, 4)); Time E(s.substr(5, 4)); S = Time(S.hours(), (S.minutes() / 5) * 5); E = Time(E.hours(), ceil((double)E.minutes() / 5) * 5); imos[S.t / 60]++; imos[E.t / 60 + 1]--; } rep(i, 0, MAX)imos[i + 1] += imos[i]; if (imos[0])cout << "0000-"; rep(i, 1, MAX) { if (imos[i]) { if (imos[i - 1])continue; Time t(i * 60); cout << t.hhmm() << "-"; } else { if (imos[i - 1] == 0)continue; Time t((i - 1) * 60); cout << t.hhmm() << endl; } } return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - 感雨時刻の整理 |
User | minaminao |
Language | C++11 (GCC 4.8.1) |
Score | 100 |
Code Size | 2274 Byte |
Status | AC |
Exec Time | 55 ms |
Memory | 932 KB |
Judge Result
Set Name | all | ||
---|---|---|---|
Score / Max Score | 100 / 100 | ||
Status |
|
Set Name | Test Cases |
---|---|
all | 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, cho_cho_chokudai.txt, chokudai_ga_cho.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_sample_01.txt | AC | 20 ms | 800 KB |
00_sample_02.txt | AC | 20 ms | 804 KB |
00_sample_03.txt | AC | 18 ms | 924 KB |
cho_cho_chokudai.txt | AC | 54 ms | 928 KB |
chokudai_ga_cho.txt | AC | 54 ms | 804 KB |
test_01.txt | AC | 21 ms | 804 KB |
test_02.txt | AC | 21 ms | 804 KB |
test_03.txt | AC | 21 ms | 928 KB |
test_04.txt | AC | 20 ms | 920 KB |
test_05.txt | AC | 19 ms | 796 KB |
test_06.txt | AC | 19 ms | 804 KB |
test_07.txt | AC | 20 ms | 800 KB |
test_08.txt | AC | 19 ms | 800 KB |
test_09.txt | AC | 18 ms | 804 KB |
test_10.txt | AC | 20 ms | 800 KB |
test_11.txt | AC | 20 ms | 804 KB |
test_12.txt | AC | 19 ms | 804 KB |
test_13.txt | AC | 20 ms | 804 KB |
test_14.txt | AC | 19 ms | 804 KB |
test_15.txt | AC | 18 ms | 804 KB |
test_16.txt | AC | 20 ms | 804 KB |
test_17.txt | AC | 20 ms | 804 KB |
test_18.txt | AC | 19 ms | 796 KB |
test_19.txt | AC | 20 ms | 800 KB |
test_20.txt | AC | 19 ms | 804 KB |
test_21.txt | AC | 55 ms | 800 KB |
test_22.txt | AC | 54 ms | 932 KB |
test_23.txt | AC | 53 ms | 932 KB |
test_24.txt | AC | 55 ms | 800 KB |
test_25.txt | AC | 53 ms | 808 KB |
test_26.txt | AC | 55 ms | 804 KB |
test_27.txt | AC | 54 ms | 800 KB |
test_28.txt | AC | 53 ms | 804 KB |
test_29.txt | AC | 17 ms | 932 KB |
test_30.txt | AC | 19 ms | 804 KB |
test_31.txt | AC | 23 ms | 800 KB |
test_32.txt | AC | 18 ms | 804 KB |
test_33.txt | AC | 43 ms | 804 KB |
test_34.txt | AC | 19 ms | 932 KB |
test_35.txt | AC | 18 ms | 928 KB |
test_36.txt | AC | 54 ms | 804 KB |
test_37.txt | AC | 53 ms | 796 KB |
test_38.txt | AC | 52 ms | 796 KB |
test_39.txt | AC | 54 ms | 804 KB |
test_40.txt | AC | 52 ms | 804 KB |
test_41.txt | AC | 53 ms | 800 KB |
test_42.txt | AC | 54 ms | 804 KB |
test_43.txt | AC | 54 ms | 804 KB |