Submission #1352756


Source Code Expand

#include <algorithm>
#include <bitset>
#include <complex>
#include <deque>
#include <exception>
#include <fstream>
#include <functional>
#include <iomanip>
#include <ios>
#include <iosfwd>
#include <iostream>
#include <istream>
#include <iterator>
#include <limits>
#include <list>
#include <locale>
#include <map>
#include <memory>
#include <new>
#include <numeric>
#include <ostream>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <stdexcept>
#include <streambuf>
#include <string>
#include <typeinfo>
#include <utility>
#include <valarray>
#include <vector>

#define REP(i, m, n) for(int i=int(m);i<int(n);i++)
#define EACH(i, c) for (auto &(i): c)
#define all(c) begin(c),end(c)
#define EXIST(s, e) ((s).find(e)!=(s).end())
#define SORT(c) sort(begin(c),end(c))
#define pb emplace_back
#define MP make_pair
#define SZ(a) int((a).size())

//#define LOCAL 1
#ifdef LOCAL
#define DEBUG(s) cout << (s) << endl
#define dump(x)  cerr << #x << " = " << (x) << endl
#define BR cout << endl;
#else
#define DEBUG(s) do{}while(0)
#define dump(x) do{}while(0)
#define BR
#endif

#define PRINT(s) cout << (s);
#define PRINTLN(s) cout << (s) << endl;

using namespace std;

// #define REP(i,N) for(int i = 0; i < N; i++)
int arr[25][12];

int main() {
    int n;
    cin >> n;

    for (int i = 0; i < n; i++) {
        string tmp;
        cin >> tmp;
        int start = stoi(tmp.substr(0, 4));
        int end = stoi(tmp.substr(5, 4));
//        cout << tmp.substr(0, 4) << endl;
//        cout << start << endl;
//        cout << end << endl;
        int start_h = start / 100;
        int start_m = (start % 100) / 5;
        int end_h = end / 100;
        int end_m = ((end % 100) - 1) / 5 + 1;
        if(end_m == 12){
            end_h++;
            end_m = 0;
        }
        if(end % 100 == 0){
            end_m = 0;
        }
        for (int h = start_h; h <= end_h; h++) {
            for (int m = 0; m < 12; m++) {
                if (h > start_h && h < end_h) {
                    arr[h][m] = 1;
                } else if (start_h == end_h) {
                    if (m >= start_m && m <= end_m) {
//                        arr[h][m] =  1;
                        if(arr[h][m] != 1)arr[h][m] = m == end_m ? -1 : 1;
                    }
                } else if (h == start_h) {
                    if (m >= start_m) {
                        arr[h][m] = 1;
                    }
                } else if (h == end_h) {
                    if (m <= end_m) {
                        if(arr[h][m] != 1)arr[h][m] = m == end_m ? -1 : 1;
                    }
                } else {
                    cout << "err" << endl;
                }
            }
        }

    }

#ifdef LOCAL
    for(int i = 0; i < 25;i ++){
        for(int j = 0; j < 12; j++){
            cout << arr[i][j] << " ";
        }
        cout << endl;
    }
#endif
    //出力
    bool flag = false;
    int start_h,start_m,end_h,end_m;
    for (int h = 0; h < 25; h++) {
        for (int m = 0; m < 12; m++) {
            if (arr[h][m] && !flag) {
                flag = true;
                start_h = h;
                start_m = m;
//                cout << "trueになったよ" << endl;
            }
            if (flag && arr[h][m] == -1) {
                end_h = h;
//                end_m = m - 1;
//                if(end_m < 0){
//                    end_h--;
//                    end_m = 11;
//                }
                end_m = m;
//                cout << start_h << start_m << "-" << end_h << end_m << endl;
                printf("%02d%02d-%02d%02d\n",start_h,start_m * 5,end_h,end_m * 5);
                flag = false;
            }
        }
    }

    return 0;
}

Submission Info

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

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 38 ms 256 KB
chokudai_ga_cho.txt AC 33 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 1 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 2 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 2 ms 256 KB
test_18.txt AC 1 ms 256 KB
test_19.txt AC 2 ms 256 KB
test_20.txt AC 2 ms 256 KB
test_21.txt AC 30 ms 256 KB
test_22.txt AC 32 ms 256 KB
test_23.txt AC 31 ms 256 KB
test_24.txt AC 31 ms 256 KB
test_25.txt AC 31 ms 256 KB
test_26.txt AC 28 ms 256 KB
test_27.txt AC 28 ms 256 KB
test_28.txt AC 29 ms 256 KB
test_29.txt AC 1 ms 256 KB
test_30.txt AC 1 ms 256 KB
test_31.txt AC 5 ms 256 KB
test_32.txt AC 1 ms 256 KB
test_33.txt AC 21 ms 256 KB
test_34.txt AC 1 ms 256 KB
test_35.txt AC 1 ms 256 KB
test_36.txt AC 32 ms 256 KB
test_37.txt AC 29 ms 256 KB
test_38.txt AC 28 ms 256 KB
test_39.txt AC 29 ms 256 KB
test_40.txt AC 29 ms 256 KB
test_41.txt AC 35 ms 256 KB
test_42.txt AC 34 ms 256 KB
test_43.txt AC 34 ms 256 KB