Submission #1142290


Source Code Expand

#include <iostream>
#include <list>
#include <stdio.h>

using namespace std;

void sort(int list[][2], int num){
        int i, j, tmp; 
        for(i = 1; i < num; i++){
                for(j = i; j >= 1; j--){
                        if(list[j][0] < list[j - 1][0]){
                                tmp = list[j][0];
                                list[j][0] = list[j - 1][0];
                                list[j - 1][0] = tmp;
                         
                                tmp = list[j][1];
                                list[j][1] = list[j - 1][1];
                                list[j - 1][1] = tmp;
                        }
                        else
                                break;
                }
        }
}
int main(){
        // 行数num //
        int num;
        cin >> num;

        //時刻リスト//
        int time_list[num][2];
        int i;

        // 時刻読み込み //
        for(i = 0; i < num; i++){
                scanf("%d-%d", &time_list[i][0], &time_list[i][1]);
                if(time_list[i][0] % 10 >= 5)
                        time_list[i][0] = (time_list[i][0] / 10) * 10 + 5;
                else
                        time_list[i][0] = (time_list[i][0] / 10) * 10;

                if(time_list[i][1] % 10 >= 6 && time_list[i][1] % 100 < 50)
                        time_list[i][1] = (time_list[i][1] / 10) * 10 + 10;
                else if(time_list[i][1] % 10 >= 6 && time_list[i][1] % 100 > 50)
                        time_list[i][1] = (time_list[i][1] / 100) * 100 + 100;
                else if(time_list[i][1] % 10 >= 1 && time_list[i][1] % 10 <= 5)
                        time_list[i][1] = (time_list[i][1] / 10) * 10 + 5;
        }

        //開始時刻でソート//
        sort(time_list, num);

        //解答する区間リスト//
        list<int> start_list, end_list;
        start_list.push_back(time_list[0][0]);
        end_list.push_back(time_list[0][1]);
        list<int>::iterator itr1 = start_list.begin();
        list<int>::iterator itr2 = end_list.begin();

       //時刻リストでつなげるものはつなげて連続してないものは区間リストに追加//
        for(i = 1; i < num; i++){
                if(*itr1 == time_list[i][0] && *itr2 <= time_list[i][1])
                        *itr2 = time_list[i][1];
                else if(*itr1 == time_list[i][0] && *itr2 > time_list[i][1])
                        ;
                else if(*itr2 == time_list[i][0])
                        *itr2 = time_list[i][1];
                else if(*itr2 > time_list[i][0] && *itr2 < time_list[i][1])
                        *itr2 = time_list[i][1];
                else if(*itr2 >= time_list[i][1])
                        ;
                else{
                        start_list.push_back(time_list[i][0]);
                        end_list.push_back(time_list[i][1]);
                        ++itr1;
                        ++itr2;
                }
        }

        //出力//
        itr2 = end_list.begin();
        for(itr1 = start_list.begin(); itr1 != start_list.end(); ++itr1){
                if(*itr1 < 10)
                        cout << "000" << *itr1;
                else if(*itr1 < 100)
                        cout << "00" << *itr1;
                else if(*itr1 < 1000)
                        cout << "0" << *itr1;
                else
                        cout << *itr1;

                if(*itr2 < 10)
                        cout << "-000" << *itr2 << endl;
                else if(*itr2 < 100)
                        cout << "-00" << *itr2 << endl;
                else if(*itr2 < 1000)
                        cout << "-0" << *itr2 << endl;
                else
                        cout << "-" << *itr2 << endl;

                ++itr2;
        }

        return 0;
}
                      

Submission Info

Submission Time
Task D - 感雨時刻の整理
User macho_uno
Language C++14 (GCC 5.4.1)
Score 100
Code Size 3952 Byte
Status AC
Exec Time 739 ms
Memory 640 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:36:67: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
                 scanf("%d-%d", &time_list[i][0], &time_list[i][1]);
                                                                   ^

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 6 ms 512 KB
chokudai_ga_cho.txt AC 739 ms 512 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 1 ms 256 KB
test_07.txt AC 1 ms 256 KB
test_08.txt AC 1 ms 256 KB
test_09.txt AC 1 ms 256 KB
test_10.txt AC 1 ms 256 KB
test_11.txt AC 1 ms 256 KB
test_12.txt AC 1 ms 256 KB
test_13.txt AC 1 ms 256 KB
test_14.txt AC 1 ms 256 KB
test_15.txt AC 1 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 374 ms 512 KB
test_22.txt AC 371 ms 512 KB
test_23.txt AC 373 ms 512 KB
test_24.txt AC 371 ms 512 KB
test_25.txt AC 372 ms 512 KB
test_26.txt AC 372 ms 512 KB
test_27.txt AC 79 ms 512 KB
test_28.txt AC 368 ms 512 KB
test_29.txt AC 1 ms 256 KB
test_30.txt AC 1 ms 256 KB
test_31.txt AC 10 ms 256 KB
test_32.txt AC 1 ms 256 KB
test_33.txt AC 162 ms 384 KB
test_34.txt AC 1 ms 256 KB
test_35.txt AC 1 ms 256 KB
test_36.txt AC 372 ms 512 KB
test_37.txt AC 371 ms 512 KB
test_38.txt AC 373 ms 512 KB
test_39.txt AC 369 ms 640 KB
test_40.txt AC 362 ms 512 KB
test_41.txt AC 6 ms 512 KB
test_42.txt AC 372 ms 512 KB
test_43.txt AC 736 ms 512 KB