AtCoder Beginner Contest 001

Submission #1364426

Source codeソースコード

#include<string>
#include<iostream>
#include<vector>
#include<algorithm>
#include<iterator>


template<class T>
auto p(const T&t){
	std::cout << "\n";
	for (const auto & v : t) {
		std::cout << v << "\n";
	}std::cout << "\n";

}

using vecstr = std::vector<std::string>;
using str = std::string;

str numbers = "0123456789";
auto index(char c) {
	auto it = std::find(std::begin(numbers), std::end(numbers), c);
	return static_cast<size_t>(it - std::begin(numbers) );
}

int main(){
	vecstr vs;
	size_t N;
	str tmp;

	std::cin >> N;
	vs.reserve(N);
	for (size_t i{ 0 }; i < N; i++) {
		std::cin >> tmp;
		vs.emplace_back(tmp);
	}
	auto s = [&]() {std::sort(std::begin(vs), std::end(vs)); };
	s();

	for (auto&v : vs) {
		auto in = index(v[3]);
		v[3] = in < 5 ? '0' : '5';

		auto sub = v.substr(5,4);
		auto post = std::stoul(sub);
		auto post2 = post - post % 10;
		post2 += post % 10 < 5 ?
			(post%10 == 0?0 : 5) : 10;

		if( 60<=(post2%100) ){
			(post2 -= 60) += 100;
		}
		auto t = std::to_string(post2);
		if (t.size() < 4) {
			t = str(4 - t.size(),'0')+t;
		}
		v = v.substr(0, 5) + t;
	}
//	p(vs);


//	p(vs);
	s();
	str deltag = "DELETED_TAG_FOR";

	for (size_t i{ 1 }; i < vs.size();++i) {
		auto& v1 = vs[i - 1];
		auto& v2 = vs[i];
		auto n1 = std::stol( v1.substr(5,4) );
		auto n2 = std::stol(v2.substr(0, 4));
		if (n2 <= n1) {
			auto tmp = v1.substr(0,4) + "-" +
				std::max(v1.substr(5,4),v2.substr(5,4)) ;
			v1 = deltag;
			v2 = tmp;
		}
	}
//	p(vs);
	s();
	std::unique(std::begin(vs), std::end(vs));
	p(vs);

	auto it = std::remove(std::begin(vs), std::end(vs), deltag);
	vs.erase(it,std::end(vs));
	vs.shrink_to_fit();
//	std::cout << "size:" << vs.size() << "\n";
	//vs.resize(vs.size() - 1);
	for (const auto&v : vs) {
		std::cout << v <<"\n";
	}
//	std::copy(std::begin(vs), std::end(vs), std::ostream_iterator<str>(std::cout, "\n"));
	return 0;
}


/*
test case

*/

Submission

Task問題 D - 感雨時刻の整理
User nameユーザ名 zxc
Created time投稿日時
Language言語 C++14 (GCC 5.4.1)
Status状態 WA
Score得点 0
Source lengthソースコード長 1994 Byte
File nameファイル名
Exec time実行時間 ms
Memory usageメモリ使用量 -

Test case

Set

Set name Score得点 / Max score Cases
all 0 / 100 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

Test case

Case name Status状態 Exec time実行時間 Memory usageメモリ使用量
00_sample_01.txt WA
00_sample_02.txt WA
00_sample_03.txt WA
cho_cho_chokudai.txt WA
chokudai_ga_cho.txt WA
test_01.txt WA
test_02.txt WA
test_03.txt WA
test_04.txt WA
test_05.txt WA
test_06.txt WA
test_07.txt WA
test_08.txt WA
test_09.txt WA
test_10.txt WA
test_11.txt WA
test_12.txt WA
test_13.txt WA
test_14.txt WA
test_15.txt WA
test_16.txt WA
test_17.txt WA
test_18.txt WA
test_19.txt WA
test_20.txt WA
test_21.txt WA
test_22.txt WA
test_23.txt WA
test_24.txt WA
test_25.txt WA
test_26.txt WA
test_27.txt WA
test_28.txt WA
test_29.txt WA
test_30.txt WA
test_31.txt WA
test_32.txt WA
test_33.txt WA
test_34.txt WA
test_35.txt WA
test_36.txt WA
test_37.txt WA
test_38.txt WA
test_39.txt WA
test_40.txt WA
test_41.txt WA
test_42.txt WA
test_43.txt WA