Submission #2211315


Source Code Expand

#include <stdio.h>
#include <stdlib.h>

typedef struct {
  int s;
  int e;
} Time;

void merge(Time *arr, Time *tmp, int left, int right)
{
  int mid = (left + right) / 2, i, j, k;

  if (left >= right)
    return;

  merge(arr, tmp, left, mid);
  merge(arr, tmp, mid + 1, right);

  for (i = left; i <= mid; i++)
    tmp[i] = arr[i];
  for (i = mid + 1, j = right; i <= right; i++, j--)
    tmp[j] = arr[i];

  j = left;
  k = right;
  for (i = left; i <= right; i++)
    arr[i] = (tmp[j].s < tmp[k].s) ? tmp[j++] : tmp[k--];
}

void mergesort(Time *arr, int arr_size)
{
  Time *tmp = (Time *)malloc(sizeof(Time) * arr_size);
  merge(arr, tmp, 0, arr_size - 1);
  free(tmp);
}

int main(void)
{
  int n, count = 0;
  Time tmp;
  Time *x;

  scanf("%d", &n);
  x = (Time *)malloc(sizeof(Time) * n);
  for (int i = 0; i < n; i++)
    scanf("%d-%d", &x[i].s, &x[i].e);

  mergesort(x, n);

  for (int i = 0; i < n; i++) {
    x[i].s -= x[i].s % 5;
    x[i].e += x[i].e % 5 ? (5 - x[i].e % 5) : 0;
    if (x[i].e % 100 == 60)
      x[i].e += 40;
  }

  for (int i = 1; i < n; i++) {
    if (x[count].e >= x[i].s) {
      if (x[count].e < x[i].e)
        x[count].e = x[i].e;
    } else {
      x[++count] = x[i];
    }
  }

  for (int i = 0; i <= count; i++)
    printf("%04d-%04d\n", x[i].s, x[i].e);

  return 0;
}

Submission Info

Submission Time
Task D - 感雨時刻の整理
User RockRacco
Language C (GCC 5.4.1)
Score 100
Code Size 1382 Byte
Status AC
Exec Time 8 ms
Memory 640 KB

Compile Error

./Main.c: In function ‘main’:
./Main.c:43:3: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d", &n);
   ^
./Main.c:46:5: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d-%d", &x[i].s, &x[i].e);
     ^

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 1 ms 128 KB
00_sample_02.txt AC 1 ms 128 KB
00_sample_03.txt AC 1 ms 128 KB
cho_cho_chokudai.txt AC 7 ms 640 KB
chokudai_ga_cho.txt AC 7 ms 640 KB
test_01.txt AC 1 ms 128 KB
test_02.txt AC 1 ms 128 KB
test_03.txt AC 1 ms 128 KB
test_04.txt AC 1 ms 128 KB
test_05.txt AC 1 ms 128 KB
test_06.txt AC 1 ms 128 KB
test_07.txt AC 1 ms 128 KB
test_08.txt AC 1 ms 128 KB
test_09.txt AC 1 ms 128 KB
test_10.txt AC 1 ms 128 KB
test_11.txt AC 1 ms 128 KB
test_12.txt AC 1 ms 128 KB
test_13.txt AC 1 ms 128 KB
test_14.txt AC 1 ms 128 KB
test_15.txt AC 1 ms 128 KB
test_16.txt AC 1 ms 128 KB
test_17.txt AC 1 ms 128 KB
test_18.txt AC 1 ms 128 KB
test_19.txt AC 1 ms 128 KB
test_20.txt AC 1 ms 128 KB
test_21.txt AC 8 ms 640 KB
test_22.txt AC 8 ms 640 KB
test_23.txt AC 8 ms 640 KB
test_24.txt AC 8 ms 640 KB
test_25.txt AC 8 ms 640 KB
test_26.txt AC 8 ms 640 KB
test_27.txt AC 7 ms 640 KB
test_28.txt AC 8 ms 640 KB
test_29.txt AC 1 ms 128 KB
test_30.txt AC 1 ms 128 KB
test_31.txt AC 2 ms 256 KB
test_32.txt AC 1 ms 128 KB
test_33.txt AC 6 ms 512 KB
test_34.txt AC 1 ms 128 KB
test_35.txt AC 1 ms 128 KB
test_36.txt AC 8 ms 640 KB
test_37.txt AC 8 ms 640 KB
test_38.txt AC 8 ms 640 KB
test_39.txt AC 8 ms 640 KB
test_40.txt AC 8 ms 640 KB
test_41.txt AC 7 ms 640 KB
test_42.txt AC 8 ms 640 KB
test_43.txt AC 7 ms 640 KB