Submission #141586


Source Code Expand

#include <iostream>
#include <complex>
#include <sstream>
#include <string>
#include <algorithm>
#include <deque>
#include <list>
#include <map>
#include <numeric>
#include <queue>
#include <vector>
#include <set>
#include <limits>
#include <cstdio>
#include <cctype>
#include <cmath>
#include <cstring>
#include <cstdlib>
#include <ctime>
using namespace std;
#define REP(i, j) for(int i = 0; i < (int)(j); ++i)
#define FOR(i, j, k) for(int i = (int)(j); i < (int)(k); ++i)
#define P pair<int, int>
#define SORT(v) sort((v).begin(), (v).end())
#define REVERSE(v) reverse((v).begin(), (v).end())
#define Int long long int
const int N = 24 * 60 + 10;

int get_minute(string s, int n){
  int h = atoi(s.substr(0, 2).c_str());
  int m = atoi(s.substr(2).c_str());
  while(m % 5) m += n;
  return h * 60 + m;
}

void line_input(int n, vector<int> &s, vector<int> &t){
  REP(i, n){
    string str, tmp; cin >>str;
    stringstream ss(str);
    vector<string> vs;
    while(getline(ss, tmp, '-')) vs.push_back(tmp);
    s[i] = get_minute(vs[0], -1);
    t[i] = get_minute(vs[1], 1);
  }
}

string parse(int n){
  stringstream ss;
  int h = n / 60, m = n % 60;
  if(h < 10) ss <<0;
  ss <<h;
  if(m < 10) ss <<0;
  ss <<m;
  return ss.str();
}


int main() {
  bool v[N];
  memset(v, 0, sizeof(v));
  int n; cin >>n;
  vector<int> s(n), t(n);
  line_input(n, s, t);
  REP(i, n){
    for(int j = s[i]; j <= t[i]; ++j) v[j] = true;
  }

  int rainning = false;
  REP(i, N){
    //cout <<i <<", " <<v[i] <<endl;
    if(!rainning && v[i]){
      rainning = true;
      cout <<parse(i) <<"-";
    } else if(rainning && !v[i]){
      rainning = false;
      cout <<parse(i - 1) <<endl;
    }
  }
  return 0;
}

Submission Info

Submission Time
Task D - 感雨時刻の整理
User alotofwe
Language C++ (G++ 4.6.4)
Score 100
Code Size 1777 Byte
Status AC
Exec Time 152 ms
Memory 1116 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 22 ms 784 KB
00_sample_02.txt AC 21 ms 916 KB
00_sample_03.txt AC 21 ms 924 KB
cho_cho_chokudai.txt AC 152 ms 1048 KB
chokudai_ga_cho.txt AC 120 ms 940 KB
test_01.txt AC 23 ms 796 KB
test_02.txt AC 23 ms 796 KB
test_03.txt AC 23 ms 920 KB
test_04.txt AC 23 ms 800 KB
test_05.txt AC 23 ms 916 KB
test_06.txt AC 22 ms 920 KB
test_07.txt AC 22 ms 800 KB
test_08.txt AC 24 ms 864 KB
test_09.txt AC 23 ms 816 KB
test_10.txt AC 23 ms 800 KB
test_11.txt AC 22 ms 800 KB
test_12.txt AC 23 ms 900 KB
test_13.txt AC 22 ms 800 KB
test_14.txt AC 23 ms 796 KB
test_15.txt AC 23 ms 808 KB
test_16.txt AC 22 ms 796 KB
test_17.txt AC 23 ms 800 KB
test_18.txt AC 22 ms 800 KB
test_19.txt AC 24 ms 796 KB
test_20.txt AC 22 ms 812 KB
test_21.txt AC 110 ms 1056 KB
test_22.txt AC 114 ms 1056 KB
test_23.txt AC 113 ms 1052 KB
test_24.txt AC 114 ms 1056 KB
test_25.txt AC 111 ms 940 KB
test_26.txt AC 109 ms 1060 KB
test_27.txt AC 108 ms 1052 KB
test_28.txt AC 110 ms 1056 KB
test_29.txt AC 21 ms 724 KB
test_30.txt AC 22 ms 800 KB
test_31.txt AC 34 ms 928 KB
test_32.txt AC 22 ms 920 KB
test_33.txt AC 78 ms 944 KB
test_34.txt AC 21 ms 800 KB
test_35.txt AC 22 ms 796 KB
test_36.txt AC 118 ms 1116 KB
test_37.txt AC 106 ms 1056 KB
test_38.txt AC 111 ms 1048 KB
test_39.txt AC 109 ms 1048 KB
test_40.txt AC 112 ms 1044 KB
test_41.txt AC 125 ms 1048 KB
test_42.txt AC 128 ms 1048 KB
test_43.txt AC 126 ms 1052 KB