Submission #1332398

#TimeUsernameProblemLanguageResultExecution timeMemory
1332398rana_azkaSecret (JOI14_secret)C++20
Compilation error
0 ms0 KiB
#include "secret.h"
#include <bits/stdc++.h>
using namespace std;

const int INF = 1e9;
const int MAXN = 1e3;
const int MAXLog = log2(MAXN) + 1;

#define md ((lf+rg)/2)
#define lc (pos*2)
#define rc (pos*2+1)

int n, m;
int arr[MAXN+5];
int segtree[4*MAXN+5];
int identity;

int merge(int a, int b){
  return Secret(a, b);
}

void build(int lf, int rg, int pos){
  if(lf == rg){
    segtree[pos] = arr[lf];
    return ;
  }
  
  build(lf, md, lc);
  build(md+1, rg, rc);

  segtree[pos] = merge(segtree[lc], segtree[rc]);
}

int query(int ql, int qr, int lf, int rg, int pos){
  if(rg < ql || qr < lf) return identity;
  if(ql <= lf && rg <= qr) return segtree[pos];
  return merge(query(ql, qr, lf, md, lc), query(ql, qr, md+1, rg, rc));
}

void Init(int N, int A[]) {
  n = N;
  for(int i = 1; i <= n; i++) arr[i] = A[i-1];

  if(Secret(123456, 0) == 123456) identity = 0;
  else identity = 1;

  build(1, n, 1);  
}

int Query(int L, int R) {
  int l = L + 1, r = R + 1;

  cout << query(l, r, 1, n, 1) << endl;

  return 0;
}

Compilation message (stderr)

secret.cpp: In function 'int query(int, int, int, int, int)':
secret.cpp:35:33: error: reference to 'identity' is ambiguous
   35 |   if(rg < ql || qr < lf) return identity;
      |                                 ^~~~~~~~
In file included from /usr/include/c++/13/bits/iterator_concepts.h:38,
                 from /usr/include/c++/13/bits/stl_iterator_base_types.h:71,
                 from /usr/include/c++/13/bits/stl_algobase.h:65,
                 from /usr/include/c++/13/algorithm:60,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:51,
                 from secret.cpp:2:
/usr/include/c++/13/bits/ranges_cmp.h:47:10: note: candidates are: 'struct std::identity'
   47 |   struct identity
      |          ^~~~~~~~
secret.cpp:16:5: note:                 'int identity'
   16 | int identity;
      |     ^~~~~~~~
secret.cpp: In function 'void Init(int, int*)':
secret.cpp:44:35: error: reference to 'identity' is ambiguous
   44 |   if(Secret(123456, 0) == 123456) identity = 0;
      |                                   ^~~~~~~~
/usr/include/c++/13/bits/ranges_cmp.h:47:10: note: candidates are: 'struct std::identity'
   47 |   struct identity
      |          ^~~~~~~~
secret.cpp:16:5: note:                 'int identity'
   16 | int identity;
      |     ^~~~~~~~
secret.cpp:45:8: error: reference to 'identity' is ambiguous
   45 |   else identity = 1;
      |        ^~~~~~~~
/usr/include/c++/13/bits/ranges_cmp.h:47:10: note: candidates are: 'struct std::identity'
   47 |   struct identity
      |          ^~~~~~~~
secret.cpp:16:5: note:                 'int identity'
   16 | int identity;
      |     ^~~~~~~~