Submission #3687408


Source Code Expand

//include
//------------------------------------------
#include <vector>
#include <list>
#include <map>
#include <climits>
#include <set>
#include <deque>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <cctype>
#include <string>
#include <cstring>
#include <ctime>
#include <queue>
#include <random>
#include <complex>
#include <regex>

using namespace std;

#define SHOW_VECTOR(v) {std::cerr << #v << "\t:";for(const auto& xxx : v){std::cerr << xxx << " ";}std::cerr << "\n";}
#define SHOW_MAP(v){std::cerr << #v << endl; for(const auto& xxx: v){std::cerr << xxx.first << " " << xxx.second << "\n";}}

int getTime(string s) {
    int hour = stoi(s.substr(0, 2));
    int minute = stoi(s.substr(2));
    int ret = hour * 60 + minute;
    return ret;
}

string getS(int time) {
    int hour = time / 60;
    int minute = time - 60 * hour;
    ostringstream sout;
    sout << setw(2) << setfill('0') << hour;
    string s = sout.str();
    ostringstream sout2;
    sout2 << setw(2) << setfill('0') << minute;
    string t = sout2.str();
    return s + t;
}

int main() {

    int N;
    cin >> N;

    vector<string> SE(N);
    for (int i = 0; i < N; i++) cin >> SE[i];

    vector<pair<int, int>> T(N);
    for (int i = 0; i < N; i++) {
        string s = SE[i].substr(0, 4);
        string t = SE[i].substr(5);
        T[i] = make_pair(getTime((s)), getTime((t)));
        if (T[i].first % 5 != 0) T[i].first -= T[i].first % 5;
        if (T[i].second % 5 != 0) T[i].second += (5 - T[i].second % 5);
    }


    sort(T.begin(), T.end());
    vector<pair<int, int>> ans;

    for (int i = 0; i < N; i++) {
        auto p = T[i];
        while (i + 1 < N && p.second >= T[i + 1].first) p.second = max(T[i + 1].second, p.second), i++;
        ans.push_back(p);
    }

    // SHOW_MAP(ans);

    for (int i = 0; i < ans.size(); i++) {
//        getS(ans[i].first) + "-" + getS(ans[i].second);
//        //cout << ans << endl;
        auto s = getS(ans[i].first);
        auto t = getS(ans[i].second);
        cout << s << "-" << t << endl;
    }

    return 0;
}









































































Submission Info

Submission Time
Task D - 感雨時刻の整理
User ganyariya
Language C++14 (GCC 5.4.1)
Score 100
Code Size 2487 Byte
Status AC
Exec Time 40 ms
Memory 2560 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 37 ms 2560 KB
chokudai_ga_cho.txt AC 37 ms 2560 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 2 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 2 ms 256 KB
test_14.txt AC 2 ms 256 KB
test_15.txt AC 2 ms 256 KB
test_16.txt AC 2 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 39 ms 2560 KB
test_22.txt AC 39 ms 2560 KB
test_23.txt AC 39 ms 2560 KB
test_24.txt AC 40 ms 2560 KB
test_25.txt AC 39 ms 2560 KB
test_26.txt AC 38 ms 2560 KB
test_27.txt AC 39 ms 2560 KB
test_28.txt AC 38 ms 2560 KB
test_29.txt AC 1 ms 256 KB
test_30.txt AC 1 ms 256 KB
test_31.txt AC 7 ms 640 KB
test_32.txt AC 1 ms 256 KB
test_33.txt AC 26 ms 1792 KB
test_34.txt AC 1 ms 256 KB
test_35.txt AC 2 ms 256 KB
test_36.txt AC 39 ms 2560 KB
test_37.txt AC 38 ms 2560 KB
test_38.txt AC 39 ms 2560 KB
test_39.txt AC 39 ms 2560 KB
test_40.txt AC 38 ms 2560 KB
test_41.txt AC 37 ms 2560 KB
test_42.txt AC 38 ms 2560 KB
test_43.txt AC 36 ms 2560 KB