Submission #353300


Source Code Expand

#include<iostream>
#include<string>
#include<map>
#include<vector>
#include<list>
#include<queue>
#include<stack>
#include<deque>
#include<set>
#include<bitset>
#include<functional>
#include<utility>
#include<iterator>
#include<algorithm>
#include<sstream>
#include<fstream>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<ctime>
#include<cstring>
#include<iomanip>
using namespace std;
#define len(val) static_cast<int>(val.size())
#define rep(i, a, b) for(int i=(a); i<(b); i++)
#define debug(x) cout << #x << " : " << x << endl;
typedef long long ll;
typedef pair<int, int> P;


int main()
{
    cin.tie(0);
    ios::sync_with_stdio(false);

    vector<P> v;
    int n; cin >> n;
    rep(i, 0, n){
        string s; cin >> s;
        v.push_back(P(atoi(s.substr(0, 4).c_str()), atoi(s.substr(5, 4).c_str())));
    }

    for(auto& vs : v){
        int vsf = vs.first-(vs.first/10)*10, vss = vs.second-(vs.second/10)*10;
        if(vsf < 5){
            vs.first = (vs.first/10)*10;
        }else{
            vs.first = (vs.first/10)*10 + 5;
        }
        if(1 <= vss && vss <= 5){
            vs.second = (vs.second/10)*10 + 5;
        }else if(vss == 0){
            vs.second = (vs.second/10)*10;
        }else{
            vs.second = (vs.second/10)*10 + 10;
            if(vs.second-(vs.second/100)*100 >= 60){
                vs.second = (vs.second/100)*100 + 100;
                if(vs.second > 2400){
                    vs.second = 2400;
                }
            }
        }
    }
    sort(v.begin(), v.end());
    v.erase(unique(v.begin(), v.end()), v.end());

    vector<P> res;
    int start = -1, end = -1;
    for(int i=0; i<len(v); i++){
        int s = v[i].first, e = v[i].second;
        if(start == -1){
            start = s; end = e;
        }else{
            if(end < s){
                res.push_back(P(start, end));
                start = s; end = e;
            }else{
                end = max(end, e);
            }
        }
    }
    if(start != -1){
        res.push_back(P(start, end));
    }
    for(int i=0; i<len(res); i++){
        string a = "", b = "";
        for(int j=0; j<4-len(to_string(res[i].first)); j++){
            a += "0";
        }
        a += to_string(res[i].first);
        for(int j=0; j<4-len(to_string(res[i].second)); j++){
            b += "0";
        }
        b += to_string(res[i].second);
        cout << a << "-" << b << endl;
    }
}

Submission Info

Submission Time
Task D - 感雨時刻の整理
User haraduka
Language C++11 (GCC 4.8.1)
Score 100
Code Size 2524 Byte
Status AC
Exec Time 47 ms
Memory 1320 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 27 ms 800 KB
00_sample_02.txt AC 25 ms 928 KB
00_sample_03.txt AC 30 ms 880 KB
cho_cho_chokudai.txt AC 43 ms 1264 KB
chokudai_ga_cho.txt AC 47 ms 1252 KB
test_01.txt AC 28 ms 880 KB
test_02.txt AC 26 ms 932 KB
test_03.txt AC 29 ms 928 KB
test_04.txt AC 29 ms 800 KB
test_05.txt AC 29 ms 804 KB
test_06.txt AC 30 ms 928 KB
test_07.txt AC 27 ms 800 KB
test_08.txt AC 26 ms 796 KB
test_09.txt AC 27 ms 800 KB
test_10.txt AC 27 ms 796 KB
test_11.txt AC 25 ms 928 KB
test_12.txt AC 27 ms 932 KB
test_13.txt AC 27 ms 800 KB
test_14.txt AC 27 ms 868 KB
test_15.txt AC 27 ms 812 KB
test_16.txt AC 27 ms 804 KB
test_17.txt AC 27 ms 796 KB
test_18.txt AC 27 ms 808 KB
test_19.txt AC 27 ms 800 KB
test_20.txt AC 26 ms 800 KB
test_21.txt AC 47 ms 1184 KB
test_22.txt AC 47 ms 1184 KB
test_23.txt AC 46 ms 1188 KB
test_24.txt AC 47 ms 1184 KB
test_25.txt AC 46 ms 1184 KB
test_26.txt AC 45 ms 1192 KB
test_27.txt AC 43 ms 1180 KB
test_28.txt AC 46 ms 1188 KB
test_29.txt AC 27 ms 800 KB
test_30.txt AC 27 ms 804 KB
test_31.txt AC 38 ms 904 KB
test_32.txt AC 27 ms 796 KB
test_33.txt AC 39 ms 1268 KB
test_34.txt AC 25 ms 800 KB
test_35.txt AC 28 ms 928 KB
test_36.txt AC 45 ms 1184 KB
test_37.txt AC 47 ms 1320 KB
test_38.txt AC 44 ms 1264 KB
test_39.txt AC 45 ms 1264 KB
test_40.txt AC 45 ms 1192 KB
test_41.txt AC 44 ms 1252 KB
test_42.txt AC 44 ms 1184 KB
test_43.txt AC 45 ms 1264 KB