답안 #877521

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
877521 2023-11-23T09:38:09 Z vjudge1 Art Collections (BOI22_art) C++17
컴파일 오류
0 ms 0 KB
#include <bits/stdc++.h>
#include "art.h"

#define pb push_back
#define eb emplace_back
#define sz(x) (int)x.size()
#define all(x) x.begin(), x.end()
#define uniq(x) x.erase(unique(all(x)), x.end())
#define rall(x) x.rbegin(), x.rend()
//#define int long long

using namespace std;

using ll = long long;
using ull = unsigned long long;
using ld = long double;
using pii = pair<int, int>;
using pll = pair<ll, ll>;

const int mod = 1e9 + 7;
const int LOG = 20;
const int maxn = 1e5 + 5;
const double eps = 1e-9;

void setIO() {
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
}

int dp[251][251];
void solve(int N) {
    if(N <= 250) {
       memset(dp, -1, sizeof(dp));
       vector<int> v;
       for(int i=1; i<=N; i++) v.push_back(i);

       auto cmp = [&](int &a, int &b) {
        if(dp[a][b] != -1) return dp[a][b];
        vector<int> v1 = {a, b}, v2 = {b, a};

        for(int i=1; i<=N; i++) {
            if(i == a || i == b) continue;
            v1.push_back(i); v2.push_back(i);
        }

        return dp[a][b] = (publish(v1) < publish(v2));
       };

       stable_sort(all(v), cmp);

       answer(v);
    }
}

// int32_t main() {
//     setIO();

    

//     return 0;
// }

Compilation message

In file included from /usr/include/c++/10/bits/stl_algobase.h:71,
                 from /usr/include/c++/10/bits/specfun.h:45,
                 from /usr/include/c++/10/cmath:1927,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
                 from art.cpp:1:
/usr/include/c++/10/bits/predefined_ops.h: In instantiation of 'bool __gnu_cxx::__ops::_Iter_comp_val<_Compare>::operator()(_Iterator, _Value&) [with _Iterator = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Value = const int; _Compare = solve(int)::<lambda(int&, int&)>]':
/usr/include/c++/10/bits/stl_algobase.h:1324:14:   required from '_ForwardIterator std::__lower_bound(_ForwardIterator, _ForwardIterator, const _Tp&, _Compare) [with _ForwardIterator = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Tp = int; _Compare = __gnu_cxx::__ops::_Iter_comp_val<solve(int)::<lambda(int&, int&)> >]'
/usr/include/c++/10/bits/stl_algo.h:2513:26:   required from 'void std::__merge_without_buffer(_BidirectionalIterator, _BidirectionalIterator, _BidirectionalIterator, _Distance, _Distance, _Compare) [with _BidirectionalIterator = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Distance = long int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<solve(int)::<lambda(int&, int&)> >]'
/usr/include/c++/10/bits/stl_algo.h:2784:34:   required from 'void std::__inplace_stable_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<solve(int)::<lambda(int&, int&)> >]'
/usr/include/c++/10/bits/stl_algo.h:5033:28:   required from 'void std::__stable_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<solve(int)::<lambda(int&, int&)> >]'
/usr/include/c++/10/bits/stl_algo.h:5104:36:   required from 'void std::stable_sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Compare = solve(int)::<lambda(int&, int&)>]'
art.cpp:50:31:   required from here
/usr/include/c++/10/bits/predefined_ops.h:194:23: error: no match for call to '(solve(int)::<lambda(int&, int&)>) (int&, const int&)'
  194 |  { return bool(_M_comp(*__it, __val)); }
      |                ~~~~~~~^~~~~~~~~~~~~~
art.cpp:38:19: note: candidate: 'solve(int)::<lambda(int&, int&)>' (near match)
   38 |        auto cmp = [&](int &a, int &b) {
      |                   ^
art.cpp:38:19: note:   conversion of argument 2 would be ill-formed:
In file included from /usr/include/c++/10/bits/stl_algobase.h:71,
                 from /usr/include/c++/10/bits/specfun.h:45,
                 from /usr/include/c++/10/cmath:1927,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
                 from art.cpp:1:
/usr/include/c++/10/bits/predefined_ops.h:194:23: error: binding reference of type 'int&' to 'const int' discards qualifiers
  194 |  { return bool(_M_comp(*__it, __val)); }
      |                ~~~~~~~^~~~~~~~~~~~~~
/usr/include/c++/10/bits/predefined_ops.h: In instantiation of 'bool __gnu_cxx::__ops::_Val_comp_iter<_Compare>::operator()(_Value&, _Iterator) [with _Value = const int; _Iterator = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Compare = solve(int)::<lambda(int&, int&)>]':
/usr/include/c++/10/bits/stl_algo.h:2061:14:   required from '_ForwardIterator std::__upper_bound(_ForwardIterator, _ForwardIterator, const _Tp&, _Compare) [with _ForwardIterator = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Tp = int; _Compare = __gnu_cxx::__ops::_Val_comp_iter<solve(int)::<lambda(int&, int&)> >]'
/usr/include/c++/10/bits/stl_algo.h:2522:26:   required from 'void std::__merge_without_buffer(_BidirectionalIterator, _BidirectionalIterator, _BidirectionalIterator, _Distance, _Distance, _Compare) [with _BidirectionalIterator = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Distance = long int; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<solve(int)::<lambda(int&, int&)> >]'
/usr/include/c++/10/bits/stl_algo.h:2784:34:   required from 'void std::__inplace_stable_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<solve(int)::<lambda(int&, int&)> >]'
/usr/include/c++/10/bits/stl_algo.h:5033:28:   required from 'void std::__stable_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<solve(int)::<lambda(int&, int&)> >]'
/usr/include/c++/10/bits/stl_algo.h:5104:36:   required from 'void std::stable_sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<int*, std::vector<int> >; _Compare = solve(int)::<lambda(int&, int&)>]'
art.cpp:50:31:   required from here
/usr/include/c++/10/bits/predefined_ops.h:238:23: error: no match for call to '(solve(int)::<lambda(int&, int&)>) (const int&, int&)'
  238 |  { return bool(_M_comp(__val, *__it)); }
      |                ~~~~~~~^~~~~~~~~~~~~~
art.cpp:38:19: note: candidate: 'solve(int)::<lambda(int&, int&)>' (near match)
   38 |        auto cmp = [&](int &a, int &b) {
      |                   ^
art.cpp:38:19: note:   conversion of argument 1 would be ill-formed:
In file included from /usr/include/c++/10/bits/stl_algobase.h:71,
                 from /usr/include/c++/10/bits/specfun.h:45,
                 from /usr/include/c++/10/cmath:1927,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
                 from art.cpp:1:
/usr/include/c++/10/bits/predefined_ops.h:238:23: error: binding reference of type 'int&' to 'const int' discards qualifiers
  238 |  { return bool(_M_comp(__val, *__it)); }
      |                ~~~~~~~^~~~~~~~~~~~~~
interface.cpp: In function 'int publish(std::vector<int>)':
interface.cpp:20:17: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   20 |     if(v.size() != N) {
      |        ~~~~~~~~~^~~~
interface.cpp: In function 'void answer(std::vector<int>)':
interface.cpp:36:17: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   36 |     if(v.size() != N) {
      |        ~~~~~~~~~^~~~