Submission #1256694

#TimeUsernameProblemLanguageResultExecution timeMemory
1256694nguyenhuythachSecret (JOI14_secret)C++20
Compilation error
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]);
}


Compilation message (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);
      |               ~~~~^~~~~~~~~~~