Submission #537742

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
5377422022-03-15 12:47:32MahfelCrossing (JOI21_crossing)C++17
100 / 100
359 ms25996 KiB
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define lt(x) 2*x+1
#define rt(x) 2*x+2
const ll MXN = 2e5 + 20 , PR1 = 19 , PR2 = 31 , MOD1 = 998244353 , MOD2 = 1e9 + 9;
ll po1[MXN] , po2[MXN] , pref1[MXN] , pref2[MXN];
set<pair<ll,ll>> H;
pair<ll,ll> Hash(vector<int> v) {
ll h1 = 0 , h2 = 0 , p1 = 1 , p2 = 1;
for(auto x : v) {
x++;
h1 += x*p1 % MOD1; h1 %= MOD1;
h2 += x*p2 % MOD2; h2 %= MOD2;
p1 *= PR1; p1 %= MOD1;
p2 *= PR2; p2 %= MOD2;
}
return {h1 , h2};
}
vector<int> str[3];
int n,q;
void prep(int c1 , int c2 , int c3) {
vector<int> res(n);
for(int i = 0 ; i < n ; i++) {
res[i] = ((c1*str[0][i]) + (c2*str[1][i]) + (c3*str[2][i])) % 3;
}
H.insert(Hash(res));
}
inline ll P(ll a , ll b , ll MOD) {
ll res = 1;
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...