Submission #856364

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
8563642023-10-03 09:13:56CyanmondPalindromic Partitions (CEOI17_palindromic)C++17
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>
using namespace std;
#define rep(i, l, r) for (int i = (l); i < (r); ++i)
#define per(i, l, r) for (int i = (r - 1); i >= l; --i)
#define ALL(x) (x).begin(), (x).end()
using i64 = long long;
using u64 = unsigned long long;
constexpr u64 mod = (1ull << 61) - 1;
constexpr u64 base = 2;
u64 safeMod(__uint128_t v) {
while (v < 0) v += mod;
return v % mod;
}
struct SH {
static constexpr u64 mul(u64 a, u64 b) {
__uint128_t x = (__uint128_t)(a) * (__uint128_t)(b);
return safeMod(x % (__uint128_t)mod);
}
int n;
string S;
vector<u64> hash;
SH(string s) : S(s) {
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

palindromic.cpp: In static member function 'static constexpr u64 SH::mul(u64, u64)':
palindromic.cpp:23:23: error: call to non-'constexpr' function 'u64 safeMod(__int128 unsigned)'
   23 |         return safeMod(x % (__uint128_t)mod);
      |                ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
palindromic.cpp:15:5: note: 'u64 safeMod(__int128 unsigned)' declared here
   15 | u64 safeMod(__uint128_t v) {
      |     ^~~~~~~