Submission #515824


Source Code Expand

#include <cstdio>
#include <iostream>
#include <cmath>
#include <cstring> 
#include <sstream>
#include <iostream>
#include <algorithm>
#include <cstdlib>
#include <map>
#include <queue>
#include <utility>
#include <vector>
#include <set>
#include <memory.h>

using namespace std;

int main()
{
	int n;
	cin >> n;
	// b_tには丸め、その後並び替えた雨の降り始め、降り終わりの時刻のペアが保存される
	vector<pair <int, int> > b_t(30000);
	// tにはb_tのうち被っているものをまとめたペアが保存される(答えになる)
	pair<int, int> t[30000];
	int cnt = 0;
	char ch;
	int tmp, hour, minutes;
	for(int i = 0; i < n; i++){
		cin >> tmp;
		// 条件を満たすように丸める 降り終わりのときだけ分が60になる可能性があるのでそこをなおす
		hour = tmp / 100;
		minutes = tmp % 100;
		minutes -= minutes % 5;
		b_t[i].first = hour * 60 + minutes;
		cin >> ch;
		cin >> tmp;
		hour = tmp / 100;
		minutes = tmp % 100;
		if(minutes % 5 != 0) minutes += (5 - minutes % 5);
		if(minutes >= 60){
			hour++;
			minutes  =minutes % 60;
		}
		b_t[i].second = hour * 60 + minutes;
	}
	sort(b_t.begin(), b_t.begin() + n);
	for(int i = 0; i < n; i++){
		int start = b_t[i].first;
		int end = b_t[i].second;
		if(cnt != 0){
			// これから考えるペアとtの最後尾のペアで重なっている部分があるか調べる
			int startt = max(t[cnt - 1].first, start);
			int endt = min(t[cnt - 1].second, end);
			if(endt - startt >= 0){
				// 重なっているのでt[cnt-1]を書き換える
				t[cnt - 1].second = max(t[cnt - 1].second, end);
			} else {
				// 重なっていないときは新しいペアをつくる
				t[cnt].first = start;
				t[cnt].second = end;
				cnt++;
			}
		} else {
			t[cnt].first = start;
			t[cnt].second = end;
			cnt++;
		}
	}
	for(int i = 0; i < cnt; i++){
		cout.width(4);
		cout.fill('0');
		cout << t[i].first / 60 * 100 + t[i].first % 60 << '-' << t[i].second / 60 * 100 + t[i].second % 60 << endl; 
	}
	return 0;
}

Submission Info

Submission Time
Task D - 感雨時刻の整理
User maple
Language C++ (G++ 4.6.4)
Score 0
Code Size 2116 Byte
Status WA
Exec Time 64 ms
Memory 1512 KB

Judge Result

Set Name all
Score / Max Score 0 / 100
Status
AC × 30
WA × 18
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 27 ms 1380 KB
00_sample_02.txt AC 26 ms 1384 KB
00_sample_03.txt AC 28 ms 1252 KB
cho_cho_chokudai.txt AC 59 ms 1376 KB
chokudai_ga_cho.txt AC 64 ms 1376 KB
test_01.txt WA 29 ms 1372 KB
test_02.txt WA 29 ms 1384 KB
test_03.txt WA 29 ms 1380 KB
test_04.txt WA 28 ms 1312 KB
test_05.txt WA 29 ms 1260 KB
test_06.txt AC 28 ms 1256 KB
test_07.txt AC 28 ms 1256 KB
test_08.txt AC 28 ms 1368 KB
test_09.txt AC 27 ms 1436 KB
test_10.txt AC 27 ms 1436 KB
test_11.txt WA 27 ms 1316 KB
test_12.txt AC 27 ms 1384 KB
test_13.txt AC 27 ms 1432 KB
test_14.txt AC 26 ms 1248 KB
test_15.txt AC 28 ms 1312 KB
test_16.txt WA 26 ms 1376 KB
test_17.txt AC 27 ms 1312 KB
test_18.txt AC 25 ms 1312 KB
test_19.txt AC 26 ms 1512 KB
test_20.txt AC 27 ms 1436 KB
test_21.txt AC 60 ms 1312 KB
test_22.txt AC 62 ms 1312 KB
test_23.txt AC 61 ms 1312 KB
test_24.txt AC 63 ms 1376 KB
test_25.txt AC 64 ms 1380 KB
test_26.txt AC 62 ms 1376 KB
test_27.txt WA 63 ms 1244 KB
test_28.txt WA 64 ms 1312 KB
test_29.txt AC 28 ms 1380 KB
test_30.txt WA 28 ms 1368 KB
test_31.txt WA 32 ms 1380 KB
test_32.txt WA 28 ms 1376 KB
test_33.txt WA 49 ms 1376 KB
test_34.txt WA 27 ms 1316 KB
test_35.txt WA 28 ms 1312 KB
test_36.txt AC 62 ms 1384 KB
test_37.txt WA 59 ms 1312 KB
test_38.txt AC 64 ms 1312 KB
test_39.txt WA 59 ms 1384 KB
test_40.txt WA 62 ms 1376 KB
test_41.txt AC 58 ms 1304 KB
test_42.txt AC 60 ms 1372 KB
test_43.txt AC 62 ms 1436 KB