제출 #549447

#제출 시각아이디문제언어결과실행 시간메모리
549447kilikuma사탕 분배 (IOI21_candies)C++17
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; int* distribute_candies(int c[], int l[], int r[], int v[]) { int N = sizeof(c) / sizeof(c[0]); int Q = sizeof(l) / sizeof(l[0]); int S[N + 1] = {0}; for (int i = 0; i < Q; i ++) { for (int j = l[i]; j <= r[i]; j ++) { if (v[i] < 0) S[j] = min(c[j], S[j] + v[i]); else S[j] = max(0, S[j] + v[i]); } } return S; }

컴파일 시 표준 에러 (stderr) 메시지

candies.cpp: In function 'int* distribute_candies(int*, int*, int*, int*)':
candies.cpp:4:18: warning: 'sizeof' on array function parameter 'c' will return size of 'int*' [-Wsizeof-array-argument]
    4 |   int N = sizeof(c) / sizeof(c[0]);
      |                 ~^~
candies.cpp:3:29: note: declared here
    3 | int* distribute_candies(int c[], int l[], int r[], int v[]) {
      |                         ~~~~^~~
candies.cpp:5:18: warning: 'sizeof' on array function parameter 'l' will return size of 'int*' [-Wsizeof-array-argument]
    5 |   int Q = sizeof(l) / sizeof(l[0]);
      |                 ~^~
candies.cpp:3:38: note: declared here
    3 | int* distribute_candies(int c[], int l[], int r[], int v[]) {
      |                                  ~~~~^~~
candies.cpp:15:10: warning: address of local variable 'S' returned [-Wreturn-local-addr]
   15 |   return S;
      |          ^
candies.cpp:6:7: note: declared here
    6 |   int S[N + 1] = {0};
      |       ^
/usr/bin/ld: /tmp/ccCUVWdU.o: in function `main':
grader.cpp:(.text.startup+0x30e): undefined reference to `distribute_candies(std::vector<int, std::allocator<int> >, std::vector<int, std::allocator<int> >, std::vector<int, std::allocator<int> >, std::vector<int, std::allocator<int> >)'
collect2: error: ld returned 1 exit status