AtCoder Beginner Contest 001

Submission #782054

Source codeソースコード

#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

Task問題 D - 感雨時刻の整理
User nameユーザ名 yori
Created time投稿日時
Language言語 C++11 (GCC 4.8.1)
Status状態 AC
Score得点 100
Source lengthソースコード長 1530 Byte
File nameファイル名
Exec time実行時間 78 ms
Memory usageメモリ使用量 1016 KB

Test case

Set

Set name Score得点 / Max score Cases
all 100 / 100 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

Test case

Case name Status状態 Exec time実行時間 Memory usageメモリ使用量
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