Submission #1290601

#TimeUsernameProblemLanguageResultExecution timeMemory
1290601monaxiaSecret (JOI14_secret)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>

// #pragma GCC optimize("O3,unroll-loops")
// #pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
#define pb push_back
#define ppb pop_back
#define fr first
#define sc second
#define all(v) v.begin(), v.end()
#define vektor vector
#define ordered_set tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update>

using namespace std;
using namespace __gnu_pbds; 

using ll = long long;
using ull = unsigned long long;
using ld = long double;

constexpr ull Mod = (119 << 23) | 1;
constexpr ull sqr = 223;
constexpr ld eps = 1e-9;

mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());
ll random_ll(ll l, ll r) {if (l > r) return -1; return uniform_int_distribution<ll>(l, r)(rng);}

#include "secret.h"

int tre[25][1005];

int n;
int a[1001] ;

void init(int l, int r){
    int layer = __lg(r - l + 1);

    if(l == r){
        tre[layer][l] = a[l];
        return;
    }

    int mid = (l + r) >> 1;

    tre[layer][mid] = a[mid];
    tre[layer][mid + 1] = a[mid + 1];

    for(int i = mid - 1; i >= l; i --){
        tre[layer][i] = Secret(a[i], tre[layer][i + 1]);
    } 

    for(int i = mid + 2; i <= r; i ++){
        tre[layer][i] = Secret(tre[layer][i - 1], a[i]);
    }

    init(l, mid);
    init(mid + 1, r);
}

void Init(int N, int A[]){
    n = N;

    for(int i = 1; i <= n; i ++) a[i] = A[i - 1];

    init(1, n, 1);
}

int Query(int l, int r){
    l ++;
    r ++;

    int layer = __lg(r - l + 1);

    return Secret(tre[layer][l], tre[layer][r]);
}

Compilation message (stderr)

secret.cpp: In function 'void Init(int, int*)':
secret.cpp:65:9: error: too many arguments to function 'void init(int, int)'
   65 |     init(1, n, 1);
      |     ~~~~^~~~~~~~~
secret.cpp:35:6: note: declared here
   35 | void init(int l, int r){
      |      ^~~~