제출 #1256694

#제출 시각아이디문제언어결과실행 시간메모리
1256694nguyenhuythach비밀 (JOI14_secret)C++20
컴파일 에러
0 ms0 KiB
#include "secret.h" #include<bits/stdc++.h> #include<algorithm> #include<random> #include<chrono> #include<cstdlib> #include<ctime> #include<numeric> #include<vector> #include<stack> #include<map> #include<set> #include<queue> #include<iomanip> #define ll long long #define fi first #define se second #define pii pair<int,int> #define sz(a) ((int)a.size()) #define FOR(i,j,k) for(int i=j;i<=k;i++) #define REP(i,k,j) for(int i=k;i>=j;i--) #define FORD(i,a) for(auto i:a) #define rngdcl mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count()) #define random(l,r) ((l)+(rng()%(r-l+1))) using namespace std; const int nmax=1069; int n; int a[nmax],pfx[15][nmax],suf[15][nmax]; void dnc(int l,int r,int lv) { if(l==r) { suf[lv][l]=a[l]; return; } int mid=(l+r)/2; //precase suf[lv][mid]=a[mid]; pfx[lv][mid+1]=a[mid+1]; //build REP(i,mid-1,l) suf[lv][i]=Secret(a[i],suf[lv][i+1]); FOR(i,mid+2,r) pfx[lv][i]=Secret(pfx[lv][i-1],a[i]); //recursion dnc(l,mid,lv+1); dnc(mid+1,r,lv+1); } void Init(int N, int A[]) { n=N; FOR(i,1,n) a[i]=A[i-1]; dnc(1,n,1); } pii get(int id, int l, int r, int u, int v) { int mid = (l + r) / 2; if (u <= mid && mid <= v) { return {id, mid}; } if (u > mid) { return get(id + 1, mid + 1, r, u, v); } return get(id + 1, l, mid, u, v); } int Query(int L,int R) { int l=L+1,r=R+1; auto save=find(1,1,n,l,r); if(l==r) return a[l]; else if(r==save.se) return suf[save.fi][l]; else if(l==save.se) return pfx[save.fi][r]; else return Secret(suf[save.fi][l],pfx[save.fi][r]); }

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

secret.cpp: In function 'int Query(int, int)':
secret.cpp:73:19: error: no matching function for call to 'find(int, int, int&, int&, int&)'
   73 |     auto save=find(1,1,n,l,r);
      |               ~~~~^~~~~~~~~~~
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 secret.cpp:2:
/usr/include/c++/11/bits/stl_algo.h:3876:5: note: candidate: 'template<class _IIter, class _Tp> constexpr _IIter std::find(_IIter, _IIter, const _Tp&)'
 3876 |     find(_InputIterator __first, _InputIterator __last,
      |     ^~~~
/usr/include/c++/11/bits/stl_algo.h:3876:5: note:   template argument deduction/substitution failed:
secret.cpp:73:19: note:   candidate expects 3 arguments, 5 provided
   73 |     auto save=find(1,1,n,l,r);
      |               ~~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/bits/locale_facets.h:48,
                 from /usr/include/c++/11/bits/basic_ios.h:37,
                 from /usr/include/c++/11/ios:44,
                 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 secret.cpp:2:
/usr/include/c++/11/bits/streambuf_iterator.h:421:5: note: candidate: 'template<class _CharT2> typename __gnu_cxx::__enable_if<std::__is_char<_CharT2>::__value, std::istreambuf_iterator<_CharT, std::char_traits<_CharT> > >::__type std::find(std::istreambuf_iterator<_CharT, std::char_traits<_CharT> >, std::istreambuf_iterator<_CharT, std::char_traits<_CharT> >, const _CharT2&)'
  421 |     find(istreambuf_iterator<_CharT> __first,
      |     ^~~~
/usr/include/c++/11/bits/streambuf_iterator.h:421:5: note:   template argument deduction/substitution failed:
secret.cpp:73:19: note:   mismatched types 'std::istreambuf_iterator<_CharT, std::char_traits<_CharT> >' and 'int'
   73 |     auto save=find(1,1,n,l,r);
      |               ~~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/algorithm:74,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65,
                 from secret.cpp:2:
/usr/include/c++/11/pstl/glue_algorithm_defs.h:60:1: note: candidate: 'template<class _ExecutionPolicy, class _ForwardIterator, class _Tp> __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator> std::find(_ExecutionPolicy&&, _ForwardIterator, _ForwardIterator, const _Tp&)'
   60 | find(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value);
      | ^~~~
/usr/include/c++/11/pstl/glue_algorithm_defs.h:60:1: note:   template argument deduction/substitution failed:
secret.cpp:73:19: note:   candidate expects 4 arguments, 5 provided
   73 |     auto save=find(1,1,n,l,r);
      |               ~~~~^~~~~~~~~~~