# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1179081 | pandaa73 | Abracadabra (CEOI22_abracadabra) | C++20 | 컴파일 에러 | 0 ms | 0 KiB |
>
#include <random>
using namespace std;
#define lf "\n"
#define ff endl
#define _ << ' ' <<
#define all(x) begin(x),end(x)
#define rall(x) rbegin(x),rend(x)
#define infos(str) do { fprintf(stderr, str"\n"); } while(0)
#define infor(str, ...) do { fprintf(stderr, str, __VA_ARGS__); } while(0)
#define infof(str, ...) do { fprintf(stderr, str"\n", __VA_ARGS__); } while(0)
#ifndef DEBUG
#undef infos
#undef infor
#undef infof
#define infos(str)
#define infor(str, ...)
#define infof(str, ...)
#endif
using ll = long long;
constexpr int LOG = 20;
constexpr int MOD = 1e9+7;
constexpr int MAXN = 1e5+7;
mt19937 mt(chrono::steady_clock::now().time_since_epoch().count());
using Treap = struct Node *;
struct Node {
int pri;
int val;
int sz;
int id;
Treap l;
Treap r;
Node(int val): pri(mt()), val(val), sz(1) {
static int id = 0;
infof("- Created new node %d with %d", id, val);
this->id = id++;
l = r = NULL;
}
void operator~(void) {
delete l;
delete r;
}
};
int sz(Treap v) {
return v ? v->sz : 0;
}
void pull(Treap v) {
if(!v) return;
v->sz = sz(v->l) + 1 + sz(v->r);
}
int first(Treap v) {
if(v->l) return first(v->l);
return v->val;
}
Treap merge(Treap l, Treap r) {
if(!l || !r) return l ? l : r;
//infof("... Merging %d with %d", l->id, r->id);
if(l->pri > r->pri) {
l->r = merge(l->r, r);
pull(l);
if(l->r) assert(l->r->id != l->id);
return l;
}
r->l = merge(l, r->l);
pull(r);
if(r->l) assert(r->l->id != r->id);
return r;
}
array<Treap, 2> split(Treap v, int i) {
if(!v) return {NULL, NULL};
//infof("... Splitting %d | sz_l: %d, sz_r: %d", v->id, sz(v->l), sz(v->r));
if(sz(v->l) >= i) {
if(v->l) assert(v->l->id != v->id);
auto [l, r] = split(v->l, i);
v->l = r;
pull(v);
return {l, v};
} else {
if(v->r) assert(v->r->id != v->id);
auto [l, r] = split(v->r, i - sz(v->l) - 1);
v->r = l;
pull(v);
return {v, r};
}
}
Treap find(Treap v, int i) {
if(!v) return 0;
//infof("... Finding %d [%d, %d]", i, sz(v->l), sz(v->r));
if(sz(v->l) == i)
return v;
if(sz(v->l) > i && v->l)
assert(v->l->id != v->id);
if(sz(v->r) > i && v->r)
assert(v->r->id != v->id);
if(sz(v->l) > i)
return find(v->l, i);
else return find(v->r, i - sz(v->l) - 1);
}
void print(Treap v) {
if(!v) return;
print(v->l);
infor("%d [%d] ", v->val, v->id);
print(v->r);
}
Treap shuffler(Treap v, int k) {
pull(v);
const int N = sz(v);
auto [l, r] = split(v, N / 2);
infof("K = %d: split into sizes: sz_l %d, sz_r %d", k, sz(l), sz(r));
assert(sz(l) == sz(r));
v = NULL;
Treap block_l = NULL, block_r = NULL;
for(; sz(l) && sz(r);) {
if(!block_l) {
infor("- Splitting L | sz is %d | ", sz(l));
auto ret = split(l, k);
block_l = ret[0], l = ret[1];
infof("block: %d ; rest: %d", sz(block_l), sz(l));
}
if(!block_r) {
infor("- Splitting R | sz is %d | ", sz(r));
auto ret = split(r, k);
block_r = ret[0], r = ret[1];
infof("block: %d ; rest: %d", sz(block_r), sz(r));
}
infof("- First L: %d | First R: %d", first(block_l), first(block_r));
if(first(block_l) < first(block_r))
v = merge(v, block_l), block_l = NULL;
else v = merge(v, block_r), block_r = NULL;
}
l = merge(block_l, l);
r = merge(block_r, r);
if(sz(l)) v = merge(v, l);
if(sz(r)) v = merge(v, r);
return v;
}
int main(void) {
ios::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
int N, Q; cin >> N >> Q;
vector<int> V(N);
for(auto &x: V) cin >> x;
vector<array<int, 2>> Qs(Q);
for(auto &[t, i]: Qs) cin >> t >> i, i--;
vector<int> order(Q); iota(all(order), 0);
sort(all(order), [&](int i, int j) -> bool {
return Qs[i] < Qs[j];
});
vector<int> ans(Q);
vector<Treap> nodes(N);
Treap v = new Node(V[0]);
nodes[0] = v;
for(int i = 1; i < N; ++i)
v = merge(v, nodes[i] = new Node(V[i]));
infof("Initialized treap with %d nodes", sz(v));
infos("Treap at start:");
print(v); infos("");
int it = 0;
int curr = 0;
for(int q: order) {
infos("================");
infof("%d: size of treap is %d", it++, sz(v));
auto [t, idx] = Qs[q];
infof("Solving %d %d", t, idx);
infos("");
if(t > N) {
ans[q] = V[idx];
continue;
}
for(; curr < t; ++curr) {
v = shuffler(v, 1);
infos("");
infof("Treap at %d:", curr + 1);
print(v); infos("");
infos("");
}
infof("searching index %d in treap of size %d", idx, sz(v));
Treap node = find(v, idx);
assert(node);
ans[q] = node->val;
infof("ANSWER FOR %d: %d", q, ans[q]);
}
for(auto x: ans)
cout << x << lf;
cout.flush();
infof("treap has %d nodes", sz(v));
print(v); infos("");
for(auto x: nodes) delete x;
}
컴파일 시 표준 에러 (stderr) 메시지
Main.cpp:1:1: error: expected unqualified-id before '>' token 1 | > | ^ In file included from /usr/include/c++/11/cmath:43, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/include/c++/11/ext/type_traits.h:162:35: error: 'bool __gnu_cxx::__is_null_pointer' redeclared as different kind of entity 162 | __is_null_pointer(std::nullptr_t) | ^ /usr/include/c++/11/ext/type_traits.h:157:5: note: previous declaration 'template<class _Type> bool __gnu_cxx::__is_null_pointer(_Type)' 157 | __is_null_pointer(_Type) | ^~~~~~~~~~~~~~~~~ /usr/include/c++/11/ext/type_traits.h:162:26: error: 'nullptr_t' is not a member of 'std' 162 | __is_null_pointer(std::nullptr_t) | ^~~~~~~~~ In file included from /usr/include/c++/11/bits/move.h:57, from /usr/include/c++/11/bits/stl_pair.h:59, from /usr/include/c++/11/bits/stl_algobase.h:64, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/include/c++/11/type_traits:431:26: error: 'std::size_t' has not been declared 431 | template<typename _Tp, std::size_t _Size> | ^~~ /usr/include/c++/11/type_traits:432:25: error: '_Size' was not declared in this scope 432 | struct is_array<_Tp[_Size]> | ^~~~~ /usr/include/c++/11/type_traits:432:31: error: template argument 1 is invalid 432 | struct is_array<_Tp[_Size]> | ^ /usr/include/c++/11/type_traits:537:42: error: 'nullptr_t' is not a member of 'std' 537 | struct __is_null_pointer_helper<std::nullptr_t> | ^~~~~~~~~ /usr/include/c++/11/type_traits:537:51: error: template argument 1 is invalid 537 | struct __is_null_pointer_helper<std::nullptr_t> | ^ /usr/include/c++/11/type_traits:1361:37: error: 'size_t' is not a member of 'std'; did you mean 'size_t'? 1361 | : public integral_constant<std::size_t, alignof(_Tp)> | ^~~~~~ In file included from /usr/include/stdlib.h:32, from /usr/include/c++/11/bits/std_abs.h:38, from /usr/include/c++/11/cmath:47, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h:209:23: note: 'size_t' declared here 209 | typedef __SIZE_TYPE__ size_t; | ^~~~~~ In file included from /usr/include/c++/11/bits/move.h:57, from /usr/include/c++/11/bits/stl_pair.h:59, from /usr/include/c++/11/bits/stl_algobase.h:64, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/include/c++/11/type_traits:1361:57: error: template argument 1 is invalid 1361 | : public integral_constant<std::size_t, alignof(_Tp)> | ^ /usr/include/c++/11/type_traits:1370:37: error: 'size_t' is not a member of 'std'; did you mean 'size_t'? 1370 | : public integral_constant<std::size_t, 0> { }; | ^~~~~~ In file included from /usr/include/stdlib.h:32, from /usr/include/c++/11/bits/std_abs.h:38, from /usr/include/c++/11/cmath:47, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h:209:23: note: 'size_t' declared here 209 | typedef __SIZE_TYPE__ size_t; | ^~~~~~ In file included from /usr/include/c++/11/bits/move.h:57, from /usr/include/c++/11/bits/stl_pair.h:59, from /usr/include/c++/11/bits/stl_algobase.h:64, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/include/c++/11/type_traits:1370:46: error: template argument 1 is invalid 1370 | : public integral_constant<std::size_t, 0> { }; | ^ /usr/include/c++/11/type_traits:1372:26: error: 'std::size_t' has not been declared 1372 | template<typename _Tp, std::size_t _Size> | ^~~ /usr/include/c++/11/type_traits:1373:21: error: '_Size' was not declared in this scope 1373 | struct rank<_Tp[_Size]> | ^~~~~ /usr/include/c++/11/type_traits:1373:27: error: template argument 1 is invalid 1373 | struct rank<_Tp[_Size]> | ^ /usr/include/c++/11/type_traits:1374:37: error: 'size_t' is not a member of 'std'; did you mean 'size_t'? 1374 | : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { }; | ^~~~~~ In file included from /usr/include/stdlib.h:32, from /usr/include/c++/11/bits/std_abs.h:38, from /usr/include/c++/11/cmath:47, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h:209:23: note: 'size_t' declared here 209 | typedef __SIZE_TYPE__ size_t; | ^~~~~~ In file included from /usr/include/c++/11/bits/move.h:57, from /usr/include/c++/11/bits/stl_pair.h:59, from /usr/include/c++/11/bits/stl_algobase.h:64, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/include/c++/11/type_traits:1374:65: error: template argument 1 is invalid 1374 | : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { }; | ^ /usr/include/c++/11/type_traits:1378:37: error: 'size_t' is not a member of 'std'; did you mean 'size_t'? 1378 | : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { }; | ^~~~~~ In file included from /usr/include/stdlib.h:32, from /usr/include/c++/11/bits/std_abs.h:38, from /usr/include/c++/11/cmath:47, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h:209:23: note: 'size_t' declared here 209 | typedef __SIZE_TYPE__ size_t; | ^~~~~~ In file included from /usr/include/c++/11/bits/move.h:57, from /usr/include/c++/11/bits/stl_pair.h:59, from /usr/include/c++/11/bits/stl_algobase.h:64, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/include/c++/11/type_traits:1378:65: error: template argument 1 is invalid 1378 | : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { }; | ^ /usr/include/c++/11/type_traits:1383:37: error: 'size_t' is not a member of 'std'; did you mean 'size_t'? 1383 | : public integral_constant<std::size_t, 0> { }; | ^~~~~~ In file included from /usr/include/stdlib.h:32, from /usr/include/c++/11/bits/std_abs.h:38, from /usr/include/c++/11/cmath:47, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h:209:23: note: 'size_t' declared here 209 | typedef __SIZE_TYPE__ size_t; | ^~~~~~ In file included from /usr/include/c++/11/bits/move.h:57, from /usr/include/c++/11/bits/stl_pair.h:59, from /usr/include/c++/11/bits/stl_algobase.h:64, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/include/c++/11/type_traits:1383:46: error: template argument 1 is invalid 1383 | : public integral_constant<std::size_t, 0> { }; | ^ /usr/include/c++/11/type_traits:1385:42: error: 'std::size_t' has not been declared 1385 | template<typename _Tp, unsigned _Uint, std::size_t _Size> | ^~~ /usr/include/c++/11/type_traits:1386:23: error: '_Size' was not declared in this scope 1386 | struct extent<_Tp[_Size], _Uint> | ^~~~~ /usr/include/c++/11/type_traits:1386:36: error: template argument 1 is invalid 1386 | struct extent<_Tp[_Size], _Uint> | ^ /usr/include/c++/11/type_traits:1387:37: error: 'size_t' is not a member of 'std'; did you mean 'size_t'? 1387 | : public integral_constant<std::size_t, | ^~~~~~ In file included from /usr/include/stdlib.h:32, from /usr/include/c++/11/bits/std_abs.h:38, from /usr/include/c++/11/cmath:47, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h:209:23: note: 'size_t' declared here 209 | typedef __SIZE_TYPE__ size_t; | ^~~~~~ In file included from /usr/include/c++/11/bits/move.h:57, from /usr/include/c++/11/bits/stl_pair.h:59, from /usr/include/c++/11/bits/stl_algobase.h:64, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/include/c++/11/type_traits:1388:45: error: '_Size' was not declared in this scope 1388 | _Uint == 0 ? _Size : extent<_Tp, | ^~~~~ /usr/include/c++/11/type_traits:1389:77: error: template argument 1 is invalid 1389 | _Uint - 1>::value> | ^ /usr/include/c++/11/type_traits:1394:37: error: 'size_t' is not a member of 'std'; did you mean 'size_t'? 1394 | : public integral_constant<std::size_t, | ^~~~~~ In file included from /usr/include/stdlib.h:32, from /usr/include/c++/11/bits/std_abs.h:38, from /usr/include/c++/11/cmath:47, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h:209:23: note: 'size_t' declared here 209 | typedef __SIZE_TYPE__ size_t; | ^~~~~~ In file included from /usr/include/c++/11/bits/move.h:57, from /usr/include/c++/11/bits/stl_pair.h:59, from /usr/include/c++/11/bits/stl_algobase.h:64, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/include/c++/11/type_traits:1396:73: error: template argument 1 is invalid 1396 | _Uint - 1>::value> | ^ /usr/include/c++/11/type_traits:1984:26: error: 'std::size_t' has not been declared 1984 | template<typename _Tp, std::size_t _Size> | ^~~ /usr/include/c++/11/type_traits:1985:30: error: '_Size' was not declared in this scope 1985 | struct remove_extent<_Tp[_Size]> | ^~~~~ /usr/include/c++/11/type_traits:1985:36: error: template argument 1 is invalid 1985 | struct remove_extent<_Tp[_Size]> | ^ /usr/include/c++/11/type_traits:1997:26: error: 'std::size_t' has not been declared 1997 | template<typename _Tp, std::size_t _Size> | ^~~ /usr/include/c++/11/type_traits:1998:35: error: '_Size' was not declared in this scope 1998 | struct remove_all_extents<_Tp[_Size]> | ^~~~~ /usr/include/c++/11/type_traits:1998:41: error: template argument 1 is invalid 1998 | struct remove_all_extents<_Tp[_Size]> | ^ /usr/include/c++/11/type_traits:2056:12: error: 'std::size_t' has not been declared 2056 | template<std::size_t _Len> | ^~~ /usr/include/c++/11/type_traits:2061:30: error: '_Len' was not declared in this scope 2061 | unsigned char __data[_Len]; | ^~~~ /usr/include/c++/11/type_traits:2076:12: error: 'std::size_t' has not been declared 2076 | template<std::size_t _Len, std::size_t _Align = | ^~~ /usr/include/c++/11/type_traits:2076:30: error: 'std::size_t' has not been declared 2076 | template<std::size_t _Len, std::size_t _Align = | ^~~ /usr/include/c++/11/type_traits:2077:55: error: '_Len' was not declared in this scope 2077 | __alignof__(typename __aligned_storage_msa<_Len>::__type)> | ^~~~ /usr/include/c++/11/type_traits:2077:59: error: template argument 1 is invalid 2077 | __alignof__(typename __aligned_storage_msa<_Len>::__type)> | ^ /usr/include/c++/11/type_traits:2082:30: error: '_Len' was not declared in this scope 2082 | unsigned char __data[_Len]; | ^~~~ /usr/include/c++/11/type_traits:2083:44: error: '_Align' was not declared in this scope 2083 | struct __attribute__((__aligned__((_Align)))) { } __align; | ^~~~~~ In file included from /usr/include/c++/11/bits/iterator_concepts.h:36, from /usr/include/c++/11/bits/stl_iterator_base_types.h:71, from /usr/include/c++/11/bits/stl_algobase.h:65, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/include/c++/11/bits/ptr_traits.h:119:27: error: 'ptrdiff_t' was not declared in this scope 119 | = __detected_or_t<ptrdiff_t, __difference_type, _Ptr>; | ^~~~~~~~~ /usr/include/c++/11/bits/ptr_traits.h:1:1: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'? +++ |+#include <cstddef> 1 | // Pointer Traits -*- C++ -*- /usr/include/c++/11/bits/ptr_traits.h:119:61: error: template argument 1 is invalid 119 | = __detected_or_t<ptrdiff_t, __difference_type, _Ptr>; | ^ /usr/include/c++/11/bits/ptr_traits.h:138:15: error: 'ptrdiff_t' does not name a type 138 | typedef ptrdiff_t difference_type; | ^~~~~~~~~ /usr/include/c++/11/bits/ptr_traits.h:138:15: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'? In file included from /usr/include/c++/11/bits/stl_iterator_base_types.h:71, from /usr/include/c++/11/bits/stl_algobase.h:65, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/include/c++/11/bits/iterator_concepts.h:153:31: error: 'ptrdiff_t' does not name a type 153 | { using difference_type = ptrdiff_t; }; | ^~~~~~~~~ /usr/include/c++/11/bits/iterator_concepts.h:38:1: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'? 37 | #include <bits/ranges_cmp.h> // identity, ranges::less +++ |+#include <cstddef> 38 | In file included from /usr/include/c++/11/bits/stl_algobase.h:65, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/include/c++/11/bits/stl_iterator_base_types.h:125:67: error: 'ptrdiff_t' does not name a type 125 | template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t, | ^~~~~~~~~ /usr/include/c++/11/bits/stl_iterator_base_types.h:72:1: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'? 71 | # include <bits/iterator_concepts.h> +++ |+#include <cstddef> 72 | #endif /usr/include/c++/11/bits/stl_iterator_base_types.h:203:33: error: 'ptrdiff_t' does not name a type 203 | using difference_type = ptrdiff_t; | ^~~~~~~~~ /usr/include/c++/11/bits/stl_iterator_base_types.h:203:33: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'? In file included from /usr/include/c++/11/bits/stl_algobase.h:66, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/include/c++/11/bits/stl_iterator_base_funcs.h:110:5: error: 'ptrdiff_t' does not name a type 110 | ptrdiff_t | ^~~~~~~~~ /usr/include/c++/11/bits/stl_iterator_base_funcs.h:66:1: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'? 65 | #include <debug/assertions.h> +++ |+#include <cstddef> 66 | /usr/include/c++/11/bits/stl_iterator_base_funcs.h:116:5: error: 'ptrdiff_t' does not name a type 116 | ptrdiff_t | ^~~~~~~~~ /usr/include/c++/11/bits/stl_iterator_base_funcs.h:116:5: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'? In file included from /usr/include/c++/11/bits/stl_iterator.h:82, from /usr/include/c++/11/bits/stl_algobase.h:67, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/include/c++/11/new:126:26: error: declaration of 'operator new' as non-function 126 | _GLIBCXX_NODISCARD void* operator new(std::size_t) _GLIBCXX_THROW (std::bad_alloc) | ^~~~~~~~ /usr/include/c++/11/new:126:44: error: 'size_t' is not a member of 'std'; did you mean 'size_t'? 126 | _GLIBCXX_NODISCARD void* operator new(std::size_t) _GLIBCXX_THROW (std::bad_alloc) | ^~~~~~ In file included from /usr/include/stdlib.h:32, from /usr/include/c++/11/bits/std_abs.h:38, from /usr/include/c++/11/cmath:47, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h:209:23: note: 'size_t' declared here 209 | typedef __SIZE_TYPE__ size_t; | ^~~~~~ In file included from /usr/include/c++/11/bits/stl_iterator.h:82, from /usr/include/c++/11/bits/stl_algobase.h:67, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/include/c++/11/new:127:41: error: attributes after parenthesized initializer ignored [-fpermissive] 127 | __attribute__((__externally_visible__)); | ^ /usr/include/c++/11/new:128:26: error: declaration of 'operator new []' as non-function 128 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc) | ^~~~~~~~ /usr/include/c++/11/new:128:46: error: 'size_t' is not a member of 'std'; did you mean 'size_t'? 128 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc) | ^~~~~~ In file included from /usr/include/stdlib.h:32, from /usr/include/c++/11/bits/std_abs.h:38, from /usr/include/c++/11/cmath:47, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h:209:23: note: 'size_t' declared here 209 | typedef __SIZE_TYPE__ size_t; | ^~~~~~ In file included from /usr/include/c++/11/bits/stl_iterator.h:82, from /usr/include/c++/11/bits/stl_algobase.h:67, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/include/c++/11/new:129:41: error: attributes after parenthesized initializer ignored [-fpermissive] 129 | __attribute__((__externally_visible__)); | ^ /usr/include/c++/11/new:135:29: error: 'std::size_t' has not been declared 135 | void operator delete(void*, std::size_t) _GLIBCXX_USE_NOEXCEPT | ^~~ /usr/include/c++/11/new:137:31: error: 'std::size_t' has not been declared 137 | void operator delete[](void*, std::size_t) _GLIBCXX_USE_NOEXCEPT | ^~~ /usr/include/c++/11/new:140:26: error: declaration of 'operator new' as non-function 140 | _GLIBCXX_NODISCARD void* operator new(std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT | ^~~~~~~~ /usr/include/c++/11/new:140:44: error: 'size_t' is not a member of 'std'; did you mean 'size_t'? 140 | _GLIBCXX_NODISCARD void* operator new(std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT | ^~~~~~ In file included from /usr/include/stdlib.h:32, from /usr/include/c++/11/bits/std_abs.h:38, from /usr/include/c++/11/cmath:47, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h:209:23: note: 'size_t' declared here 209 | typedef __SIZE_TYPE__ size_t; | ^~~~~~ In file included from /usr/include/c++/11/bits/stl_iterator.h:82, from /usr/include/c++/11/bits/stl_algobase.h:67, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/include/c++/11/new:140:52: error: expected primary-expression before 'const' 140 | _GLIBCXX_NODISCARD void* operator new(std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT | ^~~~~ /usr/include/c++/11/new:142:26: error: declaration of 'operator new []' as non-function 142 | _GLIBCXX_NODISCARD void* operator new[](std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT | ^~~~~~~~ /usr/include/c++/11/new:142:46: error: 'size_t' is not a member of 'std'; did you mean 'size_t'? 142 | _GLIBCXX_NODISCARD void* operator new[](std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT | ^~~~~~ In file included from /usr/include/stdlib.h:32, from /usr/include/c++/11/bits/std_abs.h:38, from /usr/include/c++/11/cmath:47, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h:209:23: note: 'size_t' declared here 209 | typedef __SIZE_TYPE__ size_t; | ^~~~~~ In file included from /usr/include/c++/11/bits/stl_iterator.h:82, from /usr/include/c++/11/bits/stl_algobase.h:67, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/include/c++/11/new:142:54: error: expected primary-expression before 'const' 142 | _GLIBCXX_NODISCARD void* operator new[](std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT | ^~~~~ /usr/include/c++/11/new:149:26: error: declaration of 'operator new' as non-function 149 | _GLIBCXX_NODISCARD void* operator new(std::size_t, std::align_val_t) | ^~~~~~~~ /usr/include/c++/11/new:149:44: error: 'size_t' is not a member of 'std'; did you mean 'size_t'? 149 | _GLIBCXX_NODISCARD void* operator new(std::size_t, std::align_val_t) | ^~~~~~ In file included from /usr/include/stdlib.h:32, from /usr/include/c++/11/bits/std_abs.h:38, from /usr/include/c++/11/cmath:47, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h:209:23: note: 'size_t' declared here 209 | typedef __SIZE_TYPE__ size_t; | ^~~~~~ In file included from /usr/include/c++/11/bits/stl_iterator.h:82, from /usr/include/c++/11/bits/stl_algobase.h:67, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/include/c++/11/new:149:68: error: expected primary-expression before ')' token 149 | _GLIBCXX_NODISCARD void* operator new(std::size_t, std::align_val_t) | ^ /usr/include/c++/11/new:150:73: error: attributes after parenthesized initializer ignored [-fpermissive] 150 | __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__)); | ^ /usr/include/c++/11/new:151:26: error: declaration of 'operator new' as non-function 151 | _GLIBCXX_NODISCARD void* operator new(std::size_t, std::align_val_t, const std::nothrow_t&) | ^~~~~~~~ /usr/include/c++/11/new:151:44: error: 'size_t' is not a member of 'std'; did you mean 'size_t'? 151 | _GLIBCXX_NODISCARD void* operator new(std::size_t, std::align_val_t, const std::nothrow_t&) | ^~~~~~ In file included from /usr/include/stdlib.h:32, from /usr/include/c++/11/bits/std_abs.h:38, from /usr/include/c++/11/cmath:47, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h:209:23: note: 'size_t' declared here 209 | typedef __SIZE_TYPE__ size_t; | ^~~~~~ In file included from /usr/include/c++/11/bits/stl_iterator.h:82, from /usr/include/c++/11/bits/stl_algobase.h:67, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/include/c++/11/new:151:68: error: expected primary-expression before ',' token 151 | _GLIBCXX_NODISCARD void* operator new(std::size_t, std::align_val_t, const std::nothrow_t&) | ^ /usr/include/c++/11/new:151:70: error: expected primary-expression before 'const' 151 | _GLIBCXX_NODISCARD void* operator new(std::size_t, std::align_val_t, const std::nothrow_t&) | ^~~~~ /usr/include/c++/11/new:157:26: error: declaration of 'operator new []' as non-function 157 | _GLIBCXX_NODISCARD void* operator new[](std::size_t, std::align_val_t) | ^~~~~~~~ /usr/include/c++/11/new:157:46: error: 'size_t' is not a member of 'std'; did you mean 'size_t'? 157 | _GLIBCXX_NODISCARD void* operator new[](std::size_t, std::align_val_t) | ^~~~~~ In file included from /usr/include/stdlib.h:32, from /usr/include/c++/11/bits/std_abs.h:38, from /usr/include/c++/11/cmath:47, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h:209:23: note: 'size_t' declared here 209 | typedef __SIZE_TYPE__ size_t; | ^~~~~~ In file included from /usr/include/c++/11/bits/stl_iterator.h:82, from /usr/include/c++/11/bits/stl_algobase.h:67, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/include/c++/11/new:157:70: error: expected primary-expression before ')' token 157 | _GLIBCXX_NODISCARD void* operator new[](std::size_t, std::align_val_t) | ^ /usr/include/c++/11/new:158:73: error: attributes after parenthesized initializer ignored [-fpermissive] 158 | __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__)); | ^ /usr/include/c++/11/new:159:26: error: declaration of 'operator new []' as non-function 159 | _GLIBCXX_NODISCARD void* operator new[](std::size_t, std::align_val_t, const std::nothrow_t&) | ^~~~~~~~ /usr/include/c++/11/new:159:46: error: 'size_t' is not a member of 'std'; did you mean 'size_t'? 159 | _GLIBCXX_NODISCARD void* operator new[](std::size_t, std::align_val_t, const std::nothrow_t&) | ^~~~~~ In file included from /usr/include/stdlib.h:32, from /usr/include/c++/11/bits/std_abs.h:38, from /usr/include/c++/11/cmath:47, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h:209:23: note: 'size_t' declared here 209 | typedef __SIZE_TYPE__ size_t; | ^~~~~~ In file included from /usr/include/c++/11/bits/stl_iterator.h:82, from /usr/include/c++/11/bits/stl_algobase.h:67, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/include/c++/11/new:159:70: error: expected primary-expression before ',' token 159 | _GLIBCXX_NODISCARD void* operator new[](std::size_t, std::align_val_t, const std::nothrow_t&) | ^ /usr/include/c++/11/new:159:72: error: expected primary-expression before 'const' 159 | _GLIBCXX_NODISCARD void* operator new[](std::size_t, std::align_val_t, const std::nothrow_t&) | ^~~~~ /usr/include/c++/11/new:166:29: error: 'std::size_t' has not been declared 166 | void operator delete(void*, std::size_t, std::align_val_t) | ^~~ /usr/include/c++/11/new:168:31: error: 'std::size_t' has not been declared 168 | void operator delete[](void*, std::size_t, std::align_val_t) | ^~~ /usr/include/c++/11/new:174:33: error: declaration of 'operator new' as non-function 174 | _GLIBCXX_NODISCARD inline void* operator new(std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT | ^~~~~~~~ /usr/include/c++/11/new:174:51: error: 'size_t' is not a member of 'std'; did you mean 'size_t'? 174 | _GLIBCXX_NODISCARD inline void* operator new(std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT | ^~~~~~ In file included from /usr/include/stdlib.h:32, from /usr/include/c++/11/bits/std_abs.h:38, from /usr/include/c++/11/cmath:47, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h:209:23: note: 'size_t' declared here 209 | typedef __SIZE_TYPE__ size_t; | ^~~~~~ In file included from /usr/include/c++/11/bits/stl_iterator.h:82, from /usr/include/c++/11/bits/stl_algobase.h:67, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/include/c++/11/new:174:59: error: expected primary-expression before 'void' 174 | _GLIBCXX_NODISCARD inline void* operator new(std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT | ^~~~ /usr/include/c++/11/new:176:33: error: declaration of 'operator new []' as non-function 176 | _GLIBCXX_NODISCARD inline void* operator new[](std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT | ^~~~~~~~ /usr/include/c++/11/new:176:53: error: 'size_t' is not a member of 'std'; did you mean 'size_t'? 176 | _GLIBCXX_NODISCARD inline void* operator new[](std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT | ^~~~~~ In file included from /usr/include/stdlib.h:32, from /usr/include/c++/11/bits/std_abs.h:38, from /usr/include/c++/11/cmath:47, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h:209:23: note: 'size_t' declared here 209 | typedef __SIZE_TYPE__ size_t; | ^~~~~~ In file included from /usr/include/c++/11/bits/stl_iterator.h:82, from /usr/include/c++/11/bits/stl_algobase.h:67, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/include/c++/11/new:176:61: error: expected primary-expression before 'void' 176 | _GLIBCXX_NODISCARD inline void* operator new[](std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT | ^~~~ In file included from /usr/include/c++/11/bits/stl_algobase.h:67, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/include/c++/11/bits/stl_iterator.h:658:31: error: 'ptrdiff_t' does not name a type 658 | using difference_type = ptrdiff_t; | ^~~~~~~~~ /usr/include/c++/11/bits/stl_iterator.h:86:1: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'? 85 | # include <bits/stl_construct.h> +++ |+#include <cstddef> 86 | #endif /usr/include/c++/11/bits/stl_iterator.h:761:31: error: 'ptrdiff_t' does not name a type 761 | using difference_type = ptrdiff_t; | ^~~~~~~~~ /usr/include/c++/11/bits/stl_iterator.h:761:31: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'? /usr/include/c++/11/bits/stl_iterator.h:880:31: error: 'ptrdiff_t' does not name a type 880 | using difference_type = ptrdiff_t; | ^~~~~~~~~ /usr/include/c++/11/bits/stl_iterator.h:880:31: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'? In file included from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/include/c++/11/bits/stl_algobase.h: In static member function 'static constexpr _Tp* std::__copy_move<_IsMove, true, std::random_access_iterator_tag>::__copy_m(const _Tp*, const _Tp*, _Tp*)': /usr/include/c++/11/bits/stl_algobase.h:429:17: error: 'ptrdiff_t' does not name a type 429 | const ptrdiff_t _Num = __last - __first; | ^~~~~~~~~ /usr/include/c++/11/bits/stl_algobase.h:72:1: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'? 71 | #include <bits/predefined_ops.h> +++ |+#include <cstddef> 72 | #if __cplusplus >= 201103L /usr/include/c++/11/bits/stl_algobase.h:430:15: error: '_Num' was not declared in this scope 430 | if (_Num) | ^~~~ /usr/include/c++/11/bits/stl_algobase.h:432:29: error: '_Num' was not declared in this scope 432 | return __result + _Num; | ^~~~ /usr/include/c++/11/bits/stl_algobase.h: In static member function 'static constexpr _Tp* std::__copy_move_backward<_IsMove, true, std::random_access_iterator_tag>::__copy_move_b(const _Tp*, const _Tp*, _Tp*)': /usr/include/c++/11/bits/stl_algobase.h:740:17: error: 'ptrdiff_t' does not name a type 740 | const ptrdiff_t _Num = __last - __first; | ^~~~~~~~~ /usr/include/c++/11/bits/stl_algobase.h:740:17: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'? /usr/include/c++/11/bits/stl_algobase.h:741:15: error: '_Num' was not declared in this scope 741 | if (_Num) | ^~~~ /usr/include/c++/11/bits/stl_algobase.h:743:29: error: '_Num' was not declared in this scope 743 | return __result - _Num; | ^~~~ /usr/include/c++/11/bits/stl_algobase.h: At global scope: /usr/include/c++/11/bits/stl_algobase.h:1349:16: error: 'ptrdiff_t' does not name a type 1349 | static ptrdiff_t | ^~~~~~~~~ /usr/include/c++/11/bits/stl_algobase.h:1349:16: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'? In file included from /usr/include/c++/11/bits/char_traits.h:40, from /usr/include/c++/11/string:40, from /usr/include/c++/11/random:40, from Main.cpp:2: /usr/include/c++/11/bits/postypes.h:98:11: error: 'ptrdiff_t' does not name a type 98 | typedef ptrdiff_t streamsize; // Signed integral type | ^~~~~~~~~ /usr/include/c++/11/bits/postypes.h:41:1: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'? 40 | #include <cwchar> // For mbstate_t +++ |+#include <cstddef> 41 | In file included from /usr/include/c++/11/string:40, from /usr/include/c++/11/random:40, from Main.cpp:2: /usr/include/c++/11/bits/char_traits.h:114:61: error: 'std::size_t' has not been declared 114 | compare(const char_type* __s1, const char_type* __s2, std::size_t __n); | ^~~ /usr/include/c++/11/bits/char_traits.h:116:40: error: 'size_t' in namespace 'std' does not name a type 116 | static _GLIBCXX14_CONSTEXPR std::size_t | ^~~~~~ /usr/include/c++/11/bits/char_traits.h:120:34: error: 'std::size_t' has not been declared 120 | find(const char_type* __s, std::size_t __n, const char_type& __a); | ^~~ /usr/include/c++/11/bits/char_traits.h:123:52: error: 'std::size_t' has not been declared 123 | move(char_type* __s1, const char_type* __s2, std::size_t __n); | ^~~ /usr/include/c++/11/bits/char_traits.h:126:52: error: 'std::size_t' has not been declared 126 | copy(char_type* __s1, const char_type* __s2, std::size_t __n); | ^~~ /usr/include/c++/11/bits/char_traits.h:129:30: error: 'std::size_t' has not been declared 129 | assign(char_type* __s, std::size_t __n, char_type __a); | ^~~ /usr/include/c++/11/bits/char_traits.h:155:59: error: 'std::size_t' has not been declared 155 | compare(const char_type* __s1, const char_type* __s2, std::size_t __n) | ^~~ /usr/include/c++/11/bits/char_traits.h: In static member function 'static constexpr int __gnu_cxx::char_traits<_CharT>::compare(const char_type*, const char_type*, int)': /usr/include/c++/11/bits/char_traits.h:157:17: error: 'size_t' is not a member of 'std'; did you mean 'size_t'? 157 | for (std::size_t __i = 0; __i < __n; ++__i) | ^~~~~~ In file included from /usr/include/stdlib.h:32, from /usr/include/c++/11/bits/std_abs.h:38, from /usr/include/c++/11/cmath:47, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h:209:23: note: 'size_t' declared here 209 | typedef __SIZE_TYPE__ size_t; | ^~~~~~ In file included from /usr/include/c++/11/string:40, from /usr/include/c++/11/random:40, from Main.cpp:2: /usr/include/c++/11/bits/char_traits.h:157:33: error: '__i' was not declared in this scope; did you mean '__n'? 157 | for (std::size_t __i = 0; __i < __n; ++__i) | ^~~ | __n /usr/include/c++/11/bits/char_traits.h: At global scope: /usr/include/c++/11/bits/char_traits.h:166:31: error: 'size_t' in namespace 'std' does not name a type 166 | _GLIBCXX14_CONSTEXPR std::size_t | ^~~~~~ /usr/include/c++/11/bits/char_traits.h:179:32: error: 'std::size_t' has not been declared 179 | find(const char_type* __s, std::size_t __n, const char_type& __a) | ^~~ /usr/include/c++/11/bits/char_traits.h: In static member function 'static constexpr const char_type* __gnu_cxx::char_traits<_CharT>::find(const char_type*, int, const char_type&)': /usr/include/c++/11/bits/char_traits.h:181:17: error: 'size_t' is not a member of 'std'; did you mean 'size_t'? 181 | for (std::size_t __i = 0; __i < __n; ++__i) | ^~~~~~ In file included from /usr/include/stdlib.h:32, from /usr/include/c++/11/bits/std_abs.h:38, from /usr/include/c++/11/cmath:47, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/11/include/stddef.h:209:23: note: 'size_t' declared here 209 | typedef __SIZE_TYPE__ size_t; | ^~~~~~ In file included from /usr/include/c++/11/string:40, from /usr/include/c++/11/random:40, from Main.cpp:2: /usr/include/c++/11/bits/char_traits.h:181:33: error: '__i' was not declared in this scope; did you mean '__s'? 181 | for (std::size_t __i = 0; __i < __n; ++__i) | ^~~ | __s /usr/include/c++/11/bits/char_traits.h: At global scope: /usr/include/c++/11/bits/char_traits.h:191:50: error: 'std::size_t' has not been declared 191 | move(char_type* __s1, const char_type* __s2, std::size_t __n) | ^~~ /usr/include/c++/11/bits/char_traits.h:241:50: error: 'std::size_t' has not been declared 241 | copy(char_type* __s1, const char_type* __s2, std::size_t __n) | ^~~ /usr/include/c++/11/bits/char_traits.h:252:28: error: 'std::size_t' has not been declared 252 | assign(char_type* __s, std::size_t __n, char_type __a) | ^~~ /usr/include/c++/11/bits/char_traits.h: In static member function 'static constexpr size_t std::char_traits<char>::length(const char_type*)': /usr/include/c++/11/bits/char_traits.h:397:53: error: 'length' is not a member of '__gnu_cxx::char_traits<char>' 397 | return __gnu_cxx::char_traits<char_type>::length(__s); | ^~~~~~ In file included from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/include/c++/11/bits/stl_algobase.h: In instantiation of 'static constexpr _OI std::__copy_move<false, false, std::random_access_iterator_tag>::__copy_m(_II, _II, _OI) [with _II = const char*; _OI = char*]': /usr/include/c++/11/bits/stl_algobase.h:492:12: required from 'constexpr _OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = const char*; _OI = char*]' /usr/include/c++/11/bits/stl_algobase.h:522:42: required from 'constexpr _OI std::__copy_move_a1(_II, _II, _OI) [with bool _IsMove = false; _II = const char*; _OI = char*]' /usr/include/c++/11/bits/stl_algobase.h:530:31: required from 'constexpr _OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = const char*; _OI = char*]' /usr/include/c++/11/bits/stl_algobase.h:620:7: required from 'constexpr _OI std::copy(_II, _II, _OI) [with _II = const char*; _OI = char*]' /usr/include/c++/11/bits/char_traits.h:244:7: required from 'static constexpr __gnu_cxx::char_traits<_CharT>::char_type* __gnu_cxx::char_traits<_CharT>::copy(__gnu_cxx::char_traits<_CharT>::char_type*, const char_type*, int) [with _CharT = char; __gnu_cxx::char_traits<_CharT>::char_type = char]' /usr/include/c++/11/bits/char_traits.h:204:4: required from 'static constexpr __gnu_cxx::char_traits<_CharT>::char_type* __gnu_cxx::char_traits<_CharT>::move(__gnu_cxx::char_traits<_CharT>::char_type*, const char_type*, int) [with _CharT = char; __gnu_cxx::char_traits<_CharT>::char_type = char]' /usr/include/c++/11/bits/char_traits.h:423:50: required from here /usr/include/c++/11/bits/stl_algobase.h:382:66: error: no type named 'difference_type' in 'struct std::iterator_traits<const char*>' 382 | typedef typename iterator_traits<_II>::difference_type _Distance; | ^~~~~~~~~ In file included from /usr/include/c++/11/string:40, from /usr/include/c++/11/random:40, from Main.cpp:2: /usr/include/c++/11/bits/char_traits.h: In static member function 'static constexpr size_t std::char_traits<wchar_t>::length(const char_type*)': /usr/include/c++/11/bits/char_traits.h:521:53: error: 'length' is not a member of '__gnu_cxx::char_traits<wchar_t>' 521 | return __gnu_cxx::char_traits<char_type>::length(__s); | ^~~~~~ /usr/include/c++/11/bits/char_traits.h:523:22: error: call to non-'constexpr' function 'size_t wcslen(const wchar_t*)' 523 | return wcslen(__s); | ~~~~~~^~~~~ In file included from /usr/include/c++/11/cwchar:44, from /usr/include/c++/11/bits/postypes.h:40, from /usr/include/c++/11/bits/char_traits.h:40, from /usr/include/c++/11/string:40, from /usr/include/c++/11/random:40, from Main.cpp:2: /usr/include/wchar.h:223:15: note: 'size_t wcslen(const wchar_t*)' declared here 223 | extern size_t wcslen (const wchar_t *__s) __THROW __attribute_pure__; | ^~~~~~ In file included from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/c++/11/random:38, from Main.cpp:2: /usr/include/c++/11/bits/stl_algobase.h: In instantiation of 'static constexpr _OI std::__copy_move<false, false, std::random_access_iterator_tag>::__copy_m(_II, _II, _OI) [with _II = const wchar_t*; _OI = wchar_t*]': /usr/include/c++/11/bits/stl_algobase.h:492:12: required from 'constexpr _OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = const wchar_t*; _OI = wchar_t*]' /usr/include/c++/11/bits/stl_algobase.h:522:42: required from 'constexpr _OI std::__copy_move_a1(_II, _II, _OI) [with bool _IsMove = false; _II = const wchar_t*; _OI = wchar_t*]' /usr/include/c++/11/bits/stl_algobase.h:530:31: required from 'constexpr _OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = const wchar_t*; _OI = wchar_t*]' /usr/include/c++/11/bits/stl_algobase.h:620:7: required from 'constexpr _OI std::copy(_II, _II, _OI) [with _II = const wchar_t*; _OI = wchar_t*]' /usr/include/c++/11/bits/char_traits.h:244:7: required from 'static constexpr __gnu_cxx::char_