Submission #678619


Source Code Expand

#include <iostream>
#include <vector>
#include <string>
#include <cstring>
#include <algorithm>
#include <sstream>
#include <map>
#include <set>

#define REP(i,k,n) for(int i=k;i<n;i++)
#define rep(i,n) for(int i=0;i<n;i++)
#define INF 1<<30
#define pb push_back
#define mp make_pair

using namespace std;
typedef long long ll;
typedef pair<int,int> P;

int f(string s) {
	int a = (s[0] - '0') * 10 + (s[1] - '0');
	int b = (s[2] - '0') * 10 + (s[3] - '0');
	return a * 60 + b;
}

string g(int x) {
	stringstream ss;

	if(x / 60 < 10) {
		ss << 0;
	}
	ss << x / 60;

	if(x % 60 < 10) {
		ss << 0;
	}
	ss << x % 60;
	return ss.str();
}

vector<string> split(const string &str, char delim) {
	vector<string> res;
	size_t current = 0, found;
	while((found = str.find_first_of(delim, current)) != string::npos) {
		res.push_back(string(str, current, found - current));
		current = found + 1;
	}
	res.push_back(string(str, current, str.size() - current));
	return res;
}

bool used[24 * 60 + 65];

int main() {
	int n;
	cin >> n;

	memset(used, 0, sizeof(used));

	rep(i, n) {
		string s;
		cin >> s;

		vector<string> ret = split(s, '-');
		int a = f(ret[0]);
		a -= a % 5;
		int b = f(ret[1]);
		if(b % 5 != 0) {
			b -= b % 5;
			b += 5;
		}

		REP(j, a, b+1) {
			used[j] = true;
		}
	}

	bool s = true;
	rep(i, 24*60 + 65) {
		if(used[i]) {
			int a = i, b = i;
			REP(j, i, 24*60 + 65) {
				if(used[j]) {
					b = j;
					i++;
				} else break;
			}

			cout << g(a) << "-" << g(b) << endl;
		}
	}

	return 0;
}

Submission Info

Submission Time
Task D - 感雨時刻の整理
User Ry0u_
Language C++ (G++ 4.6.4)
Score 100
Code Size 1608 Byte
Status AC
Exec Time 131 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 33 ms 740 KB
00_sample_02.txt AC 25 ms 928 KB
00_sample_03.txt AC 26 ms 804 KB
cho_cho_chokudai.txt AC 131 ms 792 KB
chokudai_ga_cho.txt AC 99 ms 924 KB
test_01.txt AC 29 ms 796 KB
test_02.txt AC 29 ms 796 KB
test_03.txt AC 29 ms 800 KB
test_04.txt AC 27 ms 804 KB
test_05.txt AC 28 ms 804 KB
test_06.txt AC 28 ms 800 KB
test_07.txt AC 27 ms 804 KB
test_08.txt AC 27 ms 932 KB
test_09.txt AC 29 ms 676 KB
test_10.txt AC 28 ms 800 KB
test_11.txt AC 28 ms 792 KB
test_12.txt AC 28 ms 680 KB
test_13.txt AC 28 ms 796 KB
test_14.txt AC 29 ms 804 KB
test_15.txt AC 29 ms 676 KB
test_16.txt AC 28 ms 796 KB
test_17.txt AC 28 ms 804 KB
test_18.txt AC 27 ms 800 KB
test_19.txt AC 27 ms 928 KB
test_20.txt AC 28 ms 680 KB
test_21.txt AC 84 ms 800 KB
test_22.txt AC 90 ms 796 KB
test_23.txt AC 84 ms 804 KB
test_24.txt AC 89 ms 804 KB
test_25.txt AC 88 ms 800 KB
test_26.txt AC 82 ms 800 KB
test_27.txt AC 79 ms 804 KB
test_28.txt AC 81 ms 920 KB
test_29.txt AC 25 ms 804 KB
test_30.txt AC 27 ms 800 KB
test_31.txt AC 35 ms 800 KB
test_32.txt AC 27 ms 804 KB
test_33.txt AC 60 ms 752 KB
test_34.txt AC 25 ms 676 KB
test_35.txt AC 27 ms 928 KB
test_36.txt AC 94 ms 668 KB
test_37.txt AC 81 ms 804 KB
test_38.txt AC 81 ms 804 KB
test_39.txt AC 81 ms 796 KB
test_40.txt AC 83 ms 800 KB
test_41.txt AC 103 ms 808 KB
test_42.txt AC 107 ms 796 KB
test_43.txt AC 107 ms 792 KB