Submission #108642


Source Code Expand

#include <stdio.h>

#define MAXN 30000

struct data {
  int bt;
  int at;
};

typedef struct data data_t;

int swap(data_t *x, data_t *y)
{
  data_t d;

  d.bt = x->bt;
  d.at = x->at;

  x->bt = y->bt;
  x->at = y->at;

  y->bt = d.bt;
  y->at = d.at;

  return 0;
}

int sort_a(int n, data_t *dt)
{
  int i, f = 0;
  for (i = 0; i < n - 1; i++) {
    if (dt[i].at > dt[i+1].at) {
      f = 1;
      swap(&dt[i], &dt[i+1]);
    }
  }
  if (f)
    sort_a(n, dt);

  return 0;
}

int sort_b(int n, data_t *dt)
{
  int i, f = 0;
  for (i = 0; i < n - 1; i++) {
    if (dt[i].bt > dt[i+1].bt) {
      f = 1;
      swap(&dt[i], &dt[i+1]);
    }
  }
  if (f)
    sort_b(n, dt);

  return 0;
}

int tround(int n, data_t *dt)
{
  int i;
  for (i = 0; i < n; i++) {
    if (dt[i].bt % 10 > 0 && dt[i].bt % 10 < 5) {
      dt[i].bt = dt[i].bt - dt[i].bt % 10;
    } else if (dt[i].bt % 10 > 5 && dt[i].bt % 10 <= 9) {
      dt[i].bt = dt[i].bt - dt[i].bt % 10 + 5;
    }

    if (dt[i].at % 10 > 0 && dt[i].at % 10 < 5) {
      dt[i].at = dt[i].at - dt[i].at % 10 + 5;
    } else if (dt[i].at % 10 > 5 && dt[i].at % 10 <= 9) {
      dt[i].at = dt[i].at - dt[i].at % 10 + 10;
      if (dt[i].at % 100 == 60)
	dt[i].at = dt[i].at - 60 + 100;
    }
  }

  return 0;
}

int main(void)
{
  int c, i, n, t, f;
  data_t rd[MAXN], rf[MAXN];

  scanf("%d", &n);

  for (i = 0; i < n; i++) {
    scanf("%d%*c%d", &(rd[i].bt), &(rd[i].at));
  }

  tround(n, rd);
  sort_a(n, rd);
  sort_b(n, rd);

  for (c = 0, i = 0, f = 1; i < n; i++) {
    if (f) {
      if (c == 0) {
        rf[c].bt = rd[i].bt;
	t = rd[i].at;
	f = 0;
      } else {
	if (rf[c - 1].at < rd[i].bt)
        rf[c].bt = rd[i].bt;
	t = rd[i].at;
	f = 0;
      }
    } else {
      if (t >= rd[i].bt && t <= rd[i].at)
	t = rd[i].at;
      else {
        rf[c].at = t;
	c++; f = 1;
      }
    }
  }
  rf[c].at = t;
  rf[c + 1].bt = -1;
  rf[c + 1].at = -1;

  for (i = 0; rf[i].bt != -1 && rf[i].at != -1 ; i++)
    printf("%04d-%04d\n", rf[i].bt, rf[i].at);

  return 0;
}

Submission Info

Submission Time
Task D - 感雨時刻の整理
User arushiro
Language C (GCC 4.6.4)
Score 0
Code Size 2145 Byte
Status WA
Exec Time 2031 ms
Memory 1468 KB

Compile Error

./Main.c: In function ‘main’:
./Main.c:85:8: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
./Main.c:88:10: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]

Judge Result

Set Name all
Score / Max Score 0 / 100
Status
AC × 14
WA × 18
TLE × 16
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 WA 20 ms 796 KB
00_sample_02.txt AC 21 ms 800 KB
00_sample_03.txt AC 21 ms 796 KB
cho_cho_chokudai.txt AC 29 ms 940 KB
chokudai_ga_cho.txt TLE 2031 ms 1436 KB
test_01.txt WA 22 ms 688 KB
test_02.txt WA 21 ms 796 KB
test_03.txt WA 22 ms 668 KB
test_04.txt WA 20 ms 796 KB
test_05.txt WA 20 ms 796 KB
test_06.txt AC 22 ms 668 KB
test_07.txt AC 18 ms 792 KB
test_08.txt AC 19 ms 792 KB
test_09.txt AC 21 ms 800 KB
test_10.txt AC 20 ms 796 KB
test_11.txt AC 18 ms 796 KB
test_12.txt AC 21 ms 792 KB
test_13.txt AC 20 ms 796 KB
test_14.txt AC 19 ms 792 KB
test_15.txt AC 22 ms 708 KB
test_16.txt WA 20 ms 796 KB
test_17.txt WA 22 ms 796 KB
test_18.txt WA 21 ms 800 KB
test_19.txt WA 21 ms 800 KB
test_20.txt WA 21 ms 800 KB
test_21.txt TLE 2030 ms 1320 KB
test_22.txt TLE 2030 ms 1324 KB
test_23.txt TLE 2030 ms 1324 KB
test_24.txt TLE 2030 ms 1324 KB
test_25.txt TLE 2030 ms 1272 KB
test_26.txt TLE 2029 ms 1332 KB
test_27.txt TLE 2030 ms 1328 KB
test_28.txt TLE 2030 ms 1324 KB
test_29.txt AC 21 ms 792 KB
test_30.txt WA 19 ms 792 KB
test_31.txt WA 76 ms 816 KB
test_32.txt WA 21 ms 796 KB
test_33.txt WA 1122 ms 1072 KB
test_34.txt WA 23 ms 792 KB
test_35.txt WA 21 ms 788 KB
test_36.txt TLE 2030 ms 1324 KB
test_37.txt TLE 2030 ms 1324 KB
test_38.txt TLE 2030 ms 1328 KB
test_39.txt TLE 2030 ms 1324 KB
test_40.txt TLE 2030 ms 1328 KB
test_41.txt TLE 2030 ms 1468 KB
test_42.txt TLE 2030 ms 1320 KB
test_43.txt WA 1473 ms 1320 KB