제출 #1190520

#제출 시각아이디문제언어결과실행 시간메모리
1190520Panda50OXylophone (JOI18_xylophone)C++20
컴파일 에러
0 ms0 KiB
#include "xylophone.h"
#include<bits/stdc++.h>


int B[5001];
int d1[5001], d2[5001];

void solve(int N) {
    for(int i = 1; i <= N-1; ++i) {
        d1[i] = query(i, i+1);
    }
    for(int i = 1; i <= N-2; ++i) {
        d2[i] = query(i, i+2);
    }
    B[1] = 0;
    B[2] = B[1] + d1[1];    
    for(int i = 3; i <= N; ++i) {
        B[i] = B[i-1] + d1[i-1];
        if(max({abs(B[i]-B[i-1]), abs(B[i]-B[i-2]), abs(B[i-1]-B[i-2])}) != d2[i-2]) {
            B[i] = B[i-1] - d1[i-1];
        }
    }

    int mn = 1e9;
    for(int i = 1; i <= N; ++i) {
        mn = min(mn, B[i]);
    }

    for(int i = 1; i <= N; ++i) {
        B[i] += (1-mn);
    }

    for(int i = 1; i <= N; ++i) {
        if(B[i] == 1) break;
        else if(B[i] == N) {
            for(int j = 1; j <= N; ++j) {
                B[j] = N - B[j] + 1;
            }
            break;
        }
    }

	for(int i = 1; i <= N; i++) {
		answer(i, B[i]);
	}

}

/*
5
1 5 3 4 2  
*/

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

xylophone.cpp: In function 'void solve(int)':
xylophone.cpp:19:12: error: 'max' was not declared in this scope
   19 |         if(max({abs(B[i]-B[i-1]), abs(B[i]-B[i-2]), abs(B[i-1]-B[i-2])}) != d2[i-2]) {
      |            ^~~
xylophone.cpp:19:12: note: suggested alternatives:
In file included from /usr/include/c++/11/string:52,
                 from /usr/include/c++/11/bits/locale_classes.h:40,
                 from /usr/include/c++/11/bits/ios_base.h:41,
                 from /usr/include/c++/11/ios:42,
                 from /usr/include/c++/11/istream:38,
                 from /usr/include/c++/11/sstream:38,
                 from /usr/include/c++/11/complex:45,
                 from /usr/include/c++/11/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54,
                 from xylophone.cpp:2:
/usr/include/c++/11/bits/stl_algo.h:3467:5: note:   'std::max'
 3467 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
In file included from /usr/include/c++/11/algorithm:64,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65,
                 from xylophone.cpp:2:
/usr/include/c++/11/bits/ranges_algo.h:3011:29: note:   'std::ranges::max'
 3011 |   inline constexpr __max_fn max{};
      |                             ^~~
xylophone.cpp:26:14: error: 'min' was not declared in this scope
   26 |         mn = min(mn, B[i]);
      |              ^~~
xylophone.cpp:26:14: note: suggested alternatives:
In file included from /usr/include/c++/11/string:52,
                 from /usr/include/c++/11/bits/locale_classes.h:40,
                 from /usr/include/c++/11/bits/ios_base.h:41,
                 from /usr/include/c++/11/ios:42,
                 from /usr/include/c++/11/istream:38,
                 from /usr/include/c++/11/sstream:38,
                 from /usr/include/c++/11/complex:45,
                 from /usr/include/c++/11/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54,
                 from xylophone.cpp:2:
/usr/include/c++/11/bits/stl_algo.h:3455:5: note:   'std::min'
 3455 |     min(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
In file included from /usr/include/c++/11/algorithm:64,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65,
                 from xylophone.cpp:2:
/usr/include/c++/11/bits/ranges_algo.h:2957:29: note:   'std::ranges::min'
 2957 |   inline constexpr __min_fn min{};
      |                             ^~~