Submission #1609029
Source Code Expand
#include <iostream> #include <stdio.h> #include <cmath> #include <string> using namespace std; typedef unsigned short chk; void output_binary(chk a){ string str; for(int i = 0; i < 12; i++){ int tmp = ((a >> i) & 1); str = to_string(tmp) + str; } return; } int main(int argc, char *argv[]){ // 宣言等 int N, M = 0; int starttime, endtime; int rou; // rounding chk chk_hour[24]; for( int i = 0; i < 24; i++){ chk_hour[i] = 0; } scanf("%d", &N); //cout << "N : " << N << endl; for(int i = 0; i < N; i++){ scanf("%d-%d%*c", &starttime, &endtime); //cout << "here" << endl; // 丸め込み rou = starttime % 5; starttime -= rou; rou = ( endtime + 4 ) % 5; endtime = endtime + 4 - rou; if((endtime % 100) == 60){ endtime = (endtime / 100 + 1) * 100; } //cout << starttime << "-" << endtime << endl; //printf("%04d-%04d\n", starttime, endtime); // 丸め込み ここまで // chk にビット立て。 int chk_now = starttime; while(chk_now < endtime){ //printf("checking to %04d\n", chk_now); chk_hour[chk_now/100] |= ( 1 << (11 - (chk_now%100)/5) ); //printf("add : %d\n", ( 1 << (11 - (chk_now%100)/5) )); //chk_now = ((chk_now % 100) == 55) ? (chk_now + 100 - chk_now % 100) : chk_now + 5; if(chk_now%100 == 55){ chk_now = chk_now + 100 - 55; }else{ chk_now += 5; } } } // output int start_flag = 0; for(int i = 0; i < 24; i++){ for(int j = 0; j < 12; j++){ chk tmp = chk_hour[i]; if( ((tmp >> (11-j)) & 1) == 1 ){ // 雨が降っている。 if(start_flag == 0){ printf("%02d%02d-", i, j*5); start_flag = 1; } }else{ //雨が降っていない。 if(start_flag == 1){ printf("%02d%02d\n", i, j*5); start_flag = 0; } } } } if(start_flag == 1){ printf("2400\n"); } for(int i = 0; i < 24; i++){ output_binary(chk_hour[i]); } return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - 感雨時刻の整理 |
User | hatchi |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 2160 Byte |
Status | AC |
Exec Time | 52 ms |
Memory | 384 KB |
Compile Error
./Main.cpp: In function ‘int main(int, char**)’: ./Main.cpp:31:18: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &N); ^ ./Main.cpp:34:44: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d-%d%*c", &starttime, &endtime); ^
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 | 2 ms | 384 KB |
00_sample_02.txt | AC | 1 ms | 256 KB |
00_sample_03.txt | AC | 1 ms | 256 KB |
cho_cho_chokudai.txt | AC | 52 ms | 256 KB |
chokudai_ga_cho.txt | AC | 22 ms | 256 KB |
test_01.txt | AC | 1 ms | 256 KB |
test_02.txt | AC | 1 ms | 256 KB |
test_03.txt | AC | 1 ms | 256 KB |
test_04.txt | AC | 1 ms | 256 KB |
test_05.txt | AC | 1 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 | 2 ms | 256 KB |
test_11.txt | AC | 1 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 | 1 ms | 256 KB |
test_18.txt | AC | 1 ms | 256 KB |
test_19.txt | AC | 1 ms | 256 KB |
test_20.txt | AC | 1 ms | 256 KB |
test_21.txt | AC | 9 ms | 256 KB |
test_22.txt | AC | 15 ms | 256 KB |
test_23.txt | AC | 10 ms | 256 KB |
test_24.txt | AC | 14 ms | 256 KB |
test_25.txt | AC | 11 ms | 256 KB |
test_26.txt | AC | 7 ms | 256 KB |
test_27.txt | AC | 7 ms | 256 KB |
test_28.txt | AC | 7 ms | 256 KB |
test_29.txt | AC | 1 ms | 256 KB |
test_30.txt | AC | 1 ms | 256 KB |
test_31.txt | AC | 2 ms | 256 KB |
test_32.txt | AC | 1 ms | 256 KB |
test_33.txt | AC | 5 ms | 256 KB |
test_34.txt | AC | 1 ms | 256 KB |
test_35.txt | AC | 1 ms | 256 KB |
test_36.txt | AC | 18 ms | 256 KB |
test_37.txt | AC | 7 ms | 256 KB |
test_38.txt | AC | 7 ms | 256 KB |
test_39.txt | AC | 8 ms | 256 KB |
test_40.txt | AC | 8 ms | 256 KB |
test_41.txt | AC | 30 ms | 256 KB |
test_42.txt | AC | 30 ms | 256 KB |
test_43.txt | AC | 29 ms | 256 KB |