Submission #782054


Source Code Expand

#include <iomanip>
#include <iostream>
#include <map>

using namespace std;

int round_f (int t) {
  int r = t % 10;
  if (0 < r && r < 5) {
    t -= r;
  } else if (r > 5) {
    t -= (r-5);
  }
  return t;
}

int round_t (int t) {
  int r = t % 10;
  if (0 < r && r < 5) {
    t += (5-r);
  } else if (r > 5) {
    t += (10-r);
  }

  if (t % 100 == 60) {
    t = (t/100+1)*100;
  }
  return t;
}

int main(int argc, char* argv[]) {
  int N; 
  cin >> N;

  map<int, int> table;
  for (int i = 0; i < N; i++) {
    string str;
    cin >> str;
    int f = round_f(stoi(str.substr(0, 4)));
    int t = round_t(stoi(str.substr(5, 4)));

    if (table.find(f) == table.end()) {
      table[f] = t;
    } else {
      table[f] = max(t, table[f]);
    }
  }

  map<int, int> day;
  map<int, int>::iterator itr = table.begin();
  int f, t;
  f = t = -1;
  while (itr != table.end()) {
    if (f == -1 && t == -1) {
      f = itr->first;
      t = itr->second;
    } else if (itr->first <= t) {
      t = max(t, itr->second); 
    } else {
      day.insert(pair<int, int>(f, t));
      f = itr->first;
      t = itr->second;
    }
    itr++;
  }

  if (f != -1 && t != -1) {
    day.insert(pair<int, int>(f, t));
  }

  for (map<int, int>::iterator itr = day.begin();
       itr != day.end(); itr++) {
    cout << setfill('0') << setw(4) << itr->first;
    cout << '-';
    cout << setfill('0') << setw(4) << itr->second;
    cout << endl;
  }
  return 0;
}

Submission Info

Submission Time
Task D - 感雨時刻の整理
User pleroma6
Language C++11 (GCC 4.8.1)
Score 100
Code Size 1530 Byte
Status AC
Exec Time 78 ms
Memory 1016 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 928 KB
00_sample_02.txt AC 24 ms 928 KB
00_sample_03.txt AC 26 ms 880 KB
cho_cho_chokudai.txt AC 71 ms 1000 KB
chokudai_ga_cho.txt AC 73 ms 1000 KB
test_01.txt AC 26 ms 876 KB
test_02.txt AC 29 ms 928 KB
test_03.txt AC 29 ms 924 KB
test_04.txt AC 28 ms 924 KB
test_05.txt AC 26 ms 876 KB
test_06.txt AC 27 ms 872 KB
test_07.txt AC 25 ms 920 KB
test_08.txt AC 27 ms 880 KB
test_09.txt AC 25 ms 928 KB
test_10.txt AC 27 ms 924 KB
test_11.txt AC 27 ms 924 KB
test_12.txt AC 27 ms 880 KB
test_13.txt AC 26 ms 872 KB
test_14.txt AC 27 ms 928 KB
test_15.txt AC 28 ms 924 KB
test_16.txt AC 26 ms 928 KB
test_17.txt AC 27 ms 924 KB
test_18.txt AC 27 ms 920 KB
test_19.txt AC 27 ms 928 KB
test_20.txt AC 25 ms 928 KB
test_21.txt AC 76 ms 1004 KB
test_22.txt AC 76 ms 1004 KB
test_23.txt AC 77 ms 1000 KB
test_24.txt AC 76 ms 1016 KB
test_25.txt AC 77 ms 1012 KB
test_26.txt AC 77 ms 996 KB
test_27.txt AC 72 ms 996 KB
test_28.txt AC 74 ms 968 KB
test_29.txt AC 26 ms 972 KB
test_30.txt AC 26 ms 928 KB
test_31.txt AC 33 ms 996 KB
test_32.txt AC 26 ms 924 KB
test_33.txt AC 58 ms 1004 KB
test_34.txt AC 24 ms 932 KB
test_35.txt AC 24 ms 924 KB
test_36.txt AC 75 ms 992 KB
test_37.txt AC 76 ms 936 KB
test_38.txt AC 76 ms 1000 KB
test_39.txt AC 73 ms 1000 KB
test_40.txt AC 78 ms 1008 KB
test_41.txt AC 71 ms 996 KB
test_42.txt AC 74 ms 992 KB
test_43.txt AC 71 ms 1012 KB