Submission #636565

#TimeUsernameProblemLanguageResultExecution timeMemory
636565rainboySightseeing in Kyoto (JOI22_kyoto)C11
Compilation error
0 ms0 KiB
C#include <stdio.h> #include <string.h> #define N 100000 #define M 100000 #define N_ 3000 #define M_ 3000 #define INF 0x3f3f3f3f3f3f3f3f long long min(long long a, long long b) { return a < b ? a : b; } long long cross2(int x1, int y1, int x2, int y2) { return (long long) x1 * y2 - (long long) x2 * y1; } long long cross(int x0, int y0, int x1, int y1, int x2, int y2) { return cross2(x1 - x0, y1 - y0, x2 - x0, y2 - y0); } int main() { static int aa[N], bb[M], ii[N_], jj[M_]; static long long dp[N_][M_]; int n, n_, m, m_, i, j; scanf("%d%d", &n, &m); for (i = 0; i < n; i++) scanf("%d", &aa[i]); for (j = 0; j < m; j++) scanf("%d", &bb[j]); n_ = 0; for (i = 0; i < n; i++) { while (n_ >= 2 && cross(ii[n_ - 2], aa[ii[n_ - 2]], ii[n_ - 1], aa[ii[n_ - 1]], i, aa[i]) <= 0) n_--; ii[n_++] = i; } m_ = 0; for (j = 0; j < m; j++) { while (m_ >= 2 && cross(jj[m_ - 2], bb[jj[m_ - 2]], jj[m_ - 1], bb[jj[m_ - 1]], j, bb[j]) <= 0) m_--; jj[m_++] = j; } for (i = 0; i < n_; i++) memset(dp[i], 0x3f, m_ * sizeof *dp[i]); dp[0][0] = 0; for (i = 0; i < n_; i++) for (j = 0; j < m_; j++) { long long x = dp[i][j]; if (x == INF) continue; if (j + 1 < m_) dp[i][j + 1] = min(dp[i][j + 1], x + (long long) aa[ii[i]] * (jj[j + 1] - jj[j])); if (i + 1 < n_) dp[i + 1][j] = min(dp[i + 1][j], x + (long long) bb[jj[j]] * (ii[i + 1] - ii[i])); } printf("%lld\n", dp[n_ - 1][m_ - 1]); return 0; }

Compilation message (stderr)

kyoto.c:1:2: error: stray '#' in program
    1 | C#include <stdio.h>
      |  ^
kyoto.c:1:1: error: unknown type name 'C'
    1 | C#include <stdio.h>
      | ^
kyoto.c:1:11: error: expected '=', ',', ';', 'asm' or '__attribute__' before '<' token
    1 | C#include <stdio.h>
      |           ^
In file included from kyoto.c:2:
/usr/include/string.h:44:8: error: unknown type name 'size_t'
   44 |        size_t __n) __THROW __nonnull ((1, 2));
      |        ^~~~~~
/usr/include/string.h:34:1: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
   33 | #include <stddef.h>
  +++ |+#include <stddef.h>
   34 | 
/usr/include/string.h:47:56: error: unknown type name 'size_t'
   47 | extern void *memmove (void *__dest, const void *__src, size_t __n)
      |                                                        ^~~~~~
/usr/include/string.h:47:56: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
/usr/include/string.h:55:18: error: unknown type name 'size_t'
   55 |         int __c, size_t __n)
      |                  ^~~~~~
/usr/include/string.h:55:18: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
/usr/include/string.h:61:42: error: unknown type name 'size_t'
   61 | extern void *memset (void *__s, int __c, size_t __n) __THROW __nonnull ((1));
      |                                          ^~~~~~
/usr/include/string.h:61:42: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
/usr/include/string.h:64:56: error: unknown type name 'size_t'
   64 | extern int memcmp (const void *__s1, const void *__s2, size_t __n)
      |                                                        ^~~~~~
/usr/include/string.h:64:56: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
/usr/include/string.h:91:48: error: unknown type name 'size_t'
   91 | extern void *memchr (const void *__s, int __c, size_t __n)
      |                                                ^~~~~~
/usr/include/string.h:91:48: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
/usr/include/string.h:126:39: error: unknown type name 'size_t'
  126 |         const char *__restrict __src, size_t __n)
      |                                       ^~~~~~
/usr/include/string.h:126:39: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
/usr/include/string.h:134:9: error: unknown type name 'size_t'
  134 |         size_t __n) __THROW __nonnull ((1, 2));
      |         ^~~~~~
/usr/include/string.h:134:9: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
/usr/include/string.h:140:57: error: unknown type name 'size_t'
  140 | extern int strncmp (const char *__s1, const char *__s2, size_t __n)
      |                                                         ^~~~~~
/usr/include/string.h:140:57: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
/usr/include/string.h:147:8: error: unknown type name 'size_t'
  147 | extern size_t strxfrm (char *__restrict __dest,
      |        ^~~~~~
/usr/include/string.h:148:40: error: unknown type name 'size_t'
  148 |          const char *__restrict __src, size_t __n)
      |                                        ^~~~~~
/usr/include/string.h:148:40: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
In file included from kyoto.c:2:
/usr/include/string.h:160:8: error: unknown type name 'size_t'
  160 | extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n,
      |        ^~~~~~
/usr/include/string.h:160:59: error: unknown type name 'size_t'
  160 | extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n,
      |                                                           ^~~~~~
/usr/include/string.h:160:59: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
/usr/include/string.h:175:45: error: unknown type name 'size_t'
  175 | extern char *strndup (const char *__string, size_t __n)
      |                                             ^~~~~~
/usr/include/string.h:175:45: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
/usr/include/string.h:273:8: error: unknown type name 'size_t'
  273 | extern size_t strcspn (const char *__s, const char *__reject)
      |        ^~~~~~
/usr/include/string.h:277:8: error: unknown type name 'size_t'
  277 | extern size_t strspn (const char *__s, const char *__accept)
      |        ^~~~~~
/usr/include/string.h:385:8: error: unknown type name 'size_t'
  385 | extern size_t strlen (const char *__s)
      |        ^~~~~~
/usr/include/string.h:391:8: error: unknown type name 'size_t'
  391 | extern size_t strnlen (const char *__string, size_t __maxlen)
      |        ^~~~~~
/usr/include/string.h:391:46: error: unknown type name 'size_t'
  391 | extern size_t strnlen (const char *__string, size_t __maxlen)
      |                                              ^~~~~~
/usr/include/string.h:391:46: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
In file included from /usr/include/features.h:461,
                 from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                 from /usr/include/string.h:26,
                 from kyoto.c:2:
/usr/include/string.h:410:12: error: unknown type name 'size_t'
  410 | extern int __REDIRECT_NTH (strerror_r,
      |            ^~~~~~~~~~~~~~
/usr/include/string.h:410:12: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
In file included from /usr/include/string.h:432,
                 from kyoto.c:2:
/usr/include/strings.h:34:54: error: unknown type name 'size_t'
   34 | extern int bcmp (const void *__s1, const void *__s2, size_t __n)
      |                                                      ^~~~~~
/usr/include/strings.h:24:1: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
   23 | #include <stddef.h>
  +++ |+#include <stddef.h>
   24 | 
/usr/include/strings.h:38:53: error: unknown type name 'size_t'
   38 | extern void bcopy (const void *__src, void *__dest, size_t __n)
      |                                                     ^~~~~~
/usr/include/strings.h:38:53: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
/usr/include/strings.h:42:31: error: unknown type name 'size_t'
   42 | extern void bzero (void *__s, size_t __n) __THROW __nonnull ((1));
      |                               ^~~~~~
/usr/include/strings.h:42:31: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
/usr/include/strings.h:120:61: error: unknown type name 'size_t'
  120 | extern int strncasecmp (const char *__s1, const char *__s2, size_t __n)
      |                                                             ^~~~~~
/usr/include/strings.h:120:61: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
/usr/include/strings.h:134:6: error: unknown type name 'size_t'
  134 |      size_t __n, locale_t __loc)
      |      ^~~~~~
/usr/include/strings.h:134:6: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
In file included from /usr/include/features.h:461,
                 from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                 from /usr/include/string.h:26,
                 from kyoto.c:2:
/usr/include/x86_64-linux-gnu/bits/strings_fortified.h:23:1: error: unknown type name 'size_t'
   23 | __NTH (bcopy (const void *__src, void *__dest, size_t __len))
      | ^~~~~
In file included from /usr/include/strings.h:144,
                 from /usr/include/string.h:432,
                 from kyoto.c:2:
/usr/include/x86_64-linux-gnu/bits/strings_fortified.h:1:1: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
  +++ |+#include <stddef.h>
    1 | /* Fortify macros for strings.h functions.
In file included from /usr/include/features.h:461,
                 from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                 from /usr/include/string.h:26,
                 from kyoto.c:2:
/usr/include/x86_64-linux-gnu/bits/strings_fortified.h:29:1: error: unknown type name 'size_t'
   29 | __NTH (bzero (void *__dest, size_t __len))
      | ^~~~~
/usr/include/x86_64-linux-gnu/bits/strings_fortified.h:29:1: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
In file included from kyoto.c:2:
/usr/include/string.h:436:40: error: unknown type name 'size_t'
  436 | extern void explicit_bzero (void *__s, size_t __n) __THROW __nonnull ((1));
      |                                        ^~~~~~
/usr/include/string.h:436:40: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
/usr/include/string.h:458:34: error: unknown type name 'size_t'
  458 |    const char *__restrict __src, size_t __n)
      |                                  ^~~~~~
/usr/include/string.h:458:34: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
/usr/include/string.h:461:39: error: unknown type name 'size_t'
  461 |         const char *__restrict __src, size_t __n)
      |                                       ^~~~~~
/usr/include/string.h:461:39: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
In file included from /usr/include/features.h:461,
                 from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                 from /usr/include/string.h:26,
                 from kyoto.c:2:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:31:1: error: unknown type name 'size_t'
   31 | __NTH (memcpy (void *__restrict __dest, const void *__restrict __src,
      | ^~~~~
In file included from /usr/include/string.h:495,
                 from kyoto.c:2:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:1:1: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
  +++ |+#include <stddef.h>
    1 | /* Copyright (C) 2004-2020 Free Software Foundation, Inc.
In file included from /usr/include/features.h:461,
                 from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                 from /usr/include/string.h:26,
                 from kyoto.c:2:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:38:1: error: unknown type name 'size_t'
   38 | __NTH (memmove (void *__dest, const void *__src, size_t __len))
      | ^~~~~
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:38:1: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:59:1: error: unknown type name 'size_t'
   59 | __NTH (memset (void *__dest, int __ch, size_t __len))
      | ^~~~~
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:59:1: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
In file included from /usr/include/string.h:495,
                 from kyoto.c:2:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:77:42: error: unknown type name 'size_t'
   77 | void __explicit_bzero_chk (void *__dest, size_t __len, size_t __destlen)
      |                                          ^~~~~~
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:77:42: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:77:56: error: unknown type name 'size_t'
   77 | void __explicit_bzero_chk (void *__dest, size_t __len, size_t __destlen)
      |                                                        ^~~~~~
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:77:56: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
In file included from /usr/include/features.h:461,
                 from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                 from /usr/include/string.h:26,
                 from kyoto.c:2:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:81:1: error: unknown type name 'size_t'
   81 | __NTH (explicit_bzero (void *__dest, size_t __len))
      | ^~~~~
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:81:1: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:103:1: error: unknown type name 'size_t'
  103 | __NTH (strncpy (char *__restrict __dest, const char *__restrict __src,
      | ^~~~~
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:103:1: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
In file included from /usr/include/string.h:495,
                 from kyoto.c:2:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:110:62: error: unknown type name 'size_t'
  110 | extern char *__stpncpy_chk (char *__dest, const char *__src, size_t __n,
      |                                                              ^~~~~~
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:110:62: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:111:8: error: unknown type name 'size_t'
  111 |        size_t __destlen) __THROW;
      |        ^~~~~~
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:111:8: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
In file included from /usr/include/features.h:461,
                 from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
                 from /usr/include/string.h:26,
                 from kyoto.c:2:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:112:14: error: unknown type name 'size_t'
  112 | extern char *__REDIRECT_NTH (__stpncpy_alias, (char *__dest, const char *__src,
      |              ^~~~~~~~~~~~~~
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:112:14: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:116:1: error: unknown type name 'size_t'
  116 | __NTH (stpncpy (char *__dest, const char *__src, size_t __n))
      | ^~~~~
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:116:1: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:133:1: error: unknown type name 'size_t'
  133 | __NTH (strncat (char *__restrict __dest, const char *__restrict __src,
      | ^~~~~
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:133:1: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
kyoto.c: In function 'main':
kyoto.c:25:2: warning: implicit declaration of function 'scanf' [-Wimplicit-function-declaration]
   25 |  scanf("%d%d", &n, &m);
      |  ^~~~~
kyoto.c:25:2: warning: incompatible implicit declaration of built-in function 'scanf'
kyoto.c:3:1: note: include '<stdio.h>' or provide a declaration of 'scanf'
    2 | #include <string.h>
  +++ |+#include <stdio.h>
    3 | 
kyoto.c:43:3: warning: implicit declaration of function 'memset' [-Wimplicit-function-declaration]
   43 |   memset(dp[i], 0x3f, m_ * sizeof *dp[i]);
      |   ^~~~~~
kyoto.c:43:3: warning: incompatible implicit declaration of built-in function 'memset'
kyoto.c:3:1: note: include '<string.h>' or provide a declaration of 'memset'
    2 | #include <string.h>
  +++ |+#include <string.h>
    3 | 
kyoto.c:56:2: warning: implicit declaration of function 'printf' [-Wimplicit-function-declaration]
   56 |  printf("%lld\n", dp[n_ - 1][m_ - 1]);
      |  ^~~~~~
kyoto.c:56:2: warning: incompatible implicit declaration of built-in function 'printf'
kyoto.c:56:2: note: include '<stdio.h>' or provide a declaration of 'printf'