Submission #2072904


Source Code Expand

#include <iostream>
#include <fstream>
#include <string> 
#include <cmath>  
#include <cstdlib>
#include <ctime>
#include <vector>
#include <algorithm>
#include <numeric>
#include <map>
#include <set>
#include <queue>
#include <deque>
#include <functional>

using namespace std;
using ll = long long;

#define FOR(i, m, n) for(int i = (m);i < (n);i++)
#define REP(i,n) for(int i = 0; i < int(n); i++)
#define VI vector<int>
#define VVI vector<vector<int>>
#define VVVI vector<vector<vector<int>>>
#define VL vector<ll>
#define VVL vector<vector<ll>>
#define VB vector<bool>
#define VVB vector<vector<bool>>
#define PAIR pair<int,int>
#define MP make_pair
#define VP vector<pair<int,int>>
#define VS vector<string>
#define QUE queue<int>
#define DEQ deque<int>
#define PQUE priority_queue<int> //5,5,4,3,3,2,...
#define REPQUE priority_queue<int, vector<int>, greater<int>> //1,1,2,3,4,4,5,...
#define SUM(obj) accumulate((obj).begin(), (obj).end(), 0)
#define SORT(obj) sort((obj).begin(), (obj).end()) // 1,2,3,4,5...
#define RESORT(obj) sort((obj).begin(), (obj).end(), greater<int>()) // 5,4,3,2,1...
#define UB(obj,n) upper_bound((obj).begin(), (obj).end(), n) //itr > n
#define LB(obj,n) lower_bound((obj).begin(), (obj).end(), n) //itr>= n

const ll MOD = (ll)1e9 + 7;

int main() {
	int N;
	cin >> N;
	VI T(24 * 24 + 4,0);
	REP(i, N) {
		string str;
		cin >> str;
		
		string strSh = (str[0] != '0') ? str.substr(0, 2) : str.substr(1, 1);
		int Sh = stoi(strSh);
		
		string strSm = (str[2] != '0') ? str.substr(2, 2) : str.substr(3, 1);
		int Sm = stoi(strSm);
		Sm -= (Sm % 5);
		Sm = int(Sm/2.5);

		string strEh = (str[5] != '0') ? str.substr(5, 2) : str.substr(6, 1);
		int Eh = stoi(strEh);
		
		string strEm = (str[7] != '0') ? str.substr(7, 2) : str.substr(8, 1);
		int Em = stoi(strEm);
		if (55 < Em && Em <= 59) {
			Eh++;
			Em = 0;
		}
		Em += (Em % 5 == 0) ? 0 : (5 - (Em % 5));
		Em = int(Em/2.5);

		T[Sh * 24 + Sm]++;
		T[Eh * 24 + Em + 1]--;
	}

	

	REP(i, 24 * 24 + 2) T[i + 1] += T[i];

	//REP(i, 24 * 24 + 2) {
	//	if ((i / 24) < 10) cout << 0;
	//	cout << (i / 24);
	//	if ((i % 24) < 4) cout << 0;
	//	cout << int((i % 24)*2.5) << " ";
	//	cout << T[i] << " " << i << endl;
	//}

	bool flag = false;
	REP(i, 24 * 24 + 2) {
		
		if (T[i] > 0 && !flag) {
			if ((i / 24) < 10) cout << 0;
			cout << (i / 24);
			if ((i % 24) < 4) cout << 0;
			cout << int((i % 24)*2.5) << "-";
			flag = true;
		}

		if (T[i + 1] == 0 && flag) {
			if ((i / 24) < 10) cout << 0;
			cout << (i / 24);
			if ((i % 24) < 4) cout << 0;
			cout << int((i % 24) * 2.5) << endl;
			flag = false;
		}

	}
	
	//cin >> N;
	return 0;
}

Submission Info

Submission Time
Task D - 感雨時刻の整理
User ningenMe
Language C++14 (GCC 5.4.1)
Score 100
Code Size 2748 Byte
Status AC
Exec Time 32 ms
Memory 256 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 1 ms 256 KB
00_sample_02.txt AC 1 ms 256 KB
00_sample_03.txt AC 1 ms 256 KB
cho_cho_chokudai.txt AC 30 ms 256 KB
chokudai_ga_cho.txt AC 31 ms 256 KB
test_01.txt AC 2 ms 256 KB
test_02.txt AC 2 ms 256 KB
test_03.txt AC 2 ms 256 KB
test_04.txt AC 2 ms 256 KB
test_05.txt AC 2 ms 256 KB
test_06.txt AC 1 ms 256 KB
test_07.txt AC 1 ms 256 KB
test_08.txt AC 1 ms 256 KB
test_09.txt AC 2 ms 256 KB
test_10.txt AC 2 ms 256 KB
test_11.txt AC 2 ms 256 KB
test_12.txt AC 2 ms 256 KB
test_13.txt AC 1 ms 256 KB
test_14.txt AC 2 ms 256 KB
test_15.txt AC 2 ms 256 KB
test_16.txt AC 1 ms 256 KB
test_17.txt AC 2 ms 256 KB
test_18.txt AC 1 ms 256 KB
test_19.txt AC 2 ms 256 KB
test_20.txt AC 2 ms 256 KB
test_21.txt AC 31 ms 256 KB
test_22.txt AC 31 ms 256 KB
test_23.txt AC 31 ms 256 KB
test_24.txt AC 31 ms 256 KB
test_25.txt AC 31 ms 256 KB
test_26.txt AC 31 ms 256 KB
test_27.txt AC 30 ms 256 KB
test_28.txt AC 31 ms 256 KB
test_29.txt AC 1 ms 256 KB
test_30.txt AC 1 ms 256 KB
test_31.txt AC 6 ms 256 KB
test_32.txt AC 1 ms 256 KB
test_33.txt AC 21 ms 256 KB
test_34.txt AC 1 ms 256 KB
test_35.txt AC 2 ms 256 KB
test_36.txt AC 31 ms 256 KB
test_37.txt AC 31 ms 256 KB
test_38.txt AC 31 ms 256 KB
test_39.txt AC 31 ms 256 KB
test_40.txt AC 32 ms 256 KB
test_41.txt AC 31 ms 256 KB
test_42.txt AC 32 ms 256 KB
test_43.txt AC 31 ms 256 KB