Submission #2446340
Source Code Expand
#include <iostream> #include <math.h> #include <sstream> #include <string> #include <cstddef> #include <ios> // std::left, std::right #include <iomanip> // std::setw(int), std::setfill(char) using namespace std; void time_sorting(int n, int *time_s, int *time_e); void time_shrinking(int n, int *time_s_in, int *time_e_in, int *time_s_out, int *time_e_out); void show_time(int n, int *s, int *e); int main() { // get input int n; cin >> n; int *time_s, *time_e; time_s = new int[n]; time_e = new int[n]; for(int i = 0; i < n; i++) { string line, s, e; cin >> line; istringstream stream(line); getline(stream, s, '-'); getline(stream, e, '-'); time_s[i] = (((atoi(s.c_str()))+0)/5)*5; time_e[i] = (((atoi(e.c_str()))+4)/5)*5; if((time_e[i]%100)==60) time_e[i]+=40; } time_sorting(n, time_s, time_e); int *time_s_out, *time_e_out; time_s_out = new int[n]; time_e_out = new int[n]; for(int i = 0; i < n; i++) { time_s_out[i] = -1; time_e_out[i] = -1; } time_shrinking(n, time_s, time_e, time_s_out, time_e_out); show_time(n, time_s_out, time_e_out); delete[] time_s; delete[] time_e; delete[] time_s_out; delete[] time_e_out; return 0; } void time_sorting(int n, int *time_s, int *time_e) { int i, j, tmp; for (i = 0; i < n-1; i++) { for (j = i+1; j < n; j++) { if(time_s[j] < time_s[i]) { // sorting start tmp = time_s[i]; time_s[i] = time_s[j]; time_s[j] = tmp; // sorting end tmp = time_e[i]; time_e[i] = time_e[j]; time_e[j] = tmp; } } } } void time_shrinking(int n, int *time_s_in, int *time_e_in, int *time_s_out, int *time_e_out) { time_s_out[0] = time_s_in[0]; time_e_out[0] = time_e_in[0]; int current_pos = 0; for(int i = 1; i < n; i++) { if(time_e_out[current_pos] < time_s_in[i]) { current_pos++; time_s_out[current_pos] = time_s_in[i]; time_e_out[current_pos] = time_e_in[i]; } else { if(time_e_out[current_pos] < time_e_in[i]) { time_e_out[current_pos] = time_e_in[i]; } } } } void show_time(int n, int *s, int *e) { for(int i=0; i<n; i++) { if(s[i] == -1) break; cout << std::setfill('0') << std::right << std::setw(4) << s[i] << "-" << std::setfill('0') << std::right << std::setw(4) << e[i] << endl; } }
Submission Info
Submission Time | |
---|---|
Task | D - 感雨時刻の整理 |
User | Hi86F7w |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 2848 Byte |
Status | AC |
Exec Time | 433 ms |
Memory | 768 KB |
Judge Result
Set Name | all | ||
---|---|---|---|
Score / Max Score | 100 / 100 | ||
Status |
|
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 | 334 ms | 768 KB |
chokudai_ga_cho.txt | AC | 433 ms | 768 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 | 2 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 | 3 ms | 256 KB |
test_11.txt | AC | 2 ms | 256 KB |
test_12.txt | AC | 2 ms | 256 KB |
test_13.txt | AC | 2 ms | 256 KB |
test_14.txt | AC | 2 ms | 256 KB |
test_15.txt | AC | 3 ms | 256 KB |
test_16.txt | AC | 1 ms | 256 KB |
test_17.txt | AC | 2 ms | 256 KB |
test_18.txt | AC | 2 ms | 256 KB |
test_19.txt | AC | 2 ms | 256 KB |
test_20.txt | AC | 2 ms | 256 KB |
test_21.txt | AC | 407 ms | 768 KB |
test_22.txt | AC | 385 ms | 768 KB |
test_23.txt | AC | 399 ms | 768 KB |
test_24.txt | AC | 385 ms | 768 KB |
test_25.txt | AC | 395 ms | 768 KB |
test_26.txt | AC | 408 ms | 768 KB |
test_27.txt | AC | 335 ms | 768 KB |
test_28.txt | AC | 374 ms | 768 KB |
test_29.txt | AC | 1 ms | 256 KB |
test_30.txt | AC | 1 ms | 256 KB |
test_31.txt | AC | 21 ms | 256 KB |
test_32.txt | AC | 1 ms | 256 KB |
test_33.txt | AC | 196 ms | 512 KB |
test_34.txt | AC | 1 ms | 256 KB |
test_35.txt | AC | 2 ms | 256 KB |
test_36.txt | AC | 398 ms | 768 KB |
test_37.txt | AC | 386 ms | 768 KB |
test_38.txt | AC | 407 ms | 768 KB |
test_39.txt | AC | 369 ms | 768 KB |
test_40.txt | AC | 373 ms | 768 KB |
test_41.txt | AC | 334 ms | 768 KB |
test_42.txt | AC | 373 ms | 768 KB |
test_43.txt | AC | 375 ms | 768 KB |