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
AC × 48
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