結果
| 問題 |
No.896 友達以上恋人未満
|
| コンテスト | |
| ユーザー |
hitonanode
|
| 提出日時 | 2019-09-28 14:21:11 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
MLE
(最新)
AC
(最初)
|
| 実行時間 | - |
| コード長 | 1,883 bytes |
| コンパイル時間 | 1,737 ms |
| コンパイル使用メモリ | 170,964 KB |
| 実行使用メモリ | 199,936 KB |
| 最終ジャッジ日時 | 2024-10-02 06:23:32 |
| 合計ジャッジ時間 | 20,683 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | MLE * 4 |
| other | MLE * 7 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
using lint = long long int;
struct fast_ios { fast_ios(){ cin.tie(0); ios::sync_with_stdio(false); cout << fixed << setprecision(20); }; } fast_ios_;
#define FOR(i, begin, end) for(int i=(begin),i##_end_=(end);i<i##_end_;i++)
#define IFOR(i, begin, end) for(int i=(end)-1,i##_begin_=(begin);i>=i##_begin_;i--)
#define REP(i, n) FOR(i,0,n)
#define IREP(i, n) IFOR(i,0,n)
template<typename T> istream &operator>>(istream &is, vector<T> &vec){ for (auto &v : vec) is >> v; return is; }
lint M, N, mx, ax, my, ay, MOD;
using T = lint;
void fast_integer_zeta(vector<T> &f)
{
int N = f.size() - 1;
vector<int> is_prime(N + 1, 1);
for (int p = 2; p <= N; p++) if (is_prime[p])
{
for (int q = p * 2; q <= N; q += p) is_prime[q] = 0;
for (int j = N / p * p; j > 0; j -= p) f[j / p] += f[j];
}
}
int main()
{
vector<lint> uc(1 << 24);
cin >> M >> N >> mx >> ax >> my >> ay >> MOD;
vector<lint> X(M), Y(M), A(M), B(M);
cin >> X >> Y >> A >> B;
{
REP(i, M)
{
uc[X[i]] += Y[i];
}
lint x = X.back(), y = Y.back();
FOR(i, M, N)
{
x = (x * mx + ax) % MOD;
y = (y * my + ay) % MOD;
uc[x] += y;
}
}
fast_integer_zeta(uc);
lint retxor = 0;
REP(i, M)
{
if (A[i] >= 1 << 24) continue;
lint ret = uc[A[i]];
if (A[i] * B[i] < 1LL << 24) ret -= uc[A[i] * B[i]];
printf("%lld\n", ret);
retxor ^= ret;
}
lint a = A.back(), b = B.back();
FOR(i, M, N)
{
a = (a * mx + ax + MOD - 1) % MOD + 1;
b = (b * my + ay + MOD - 1) % MOD + 1;
if (a >= 1LL << 24) continue;
lint ret = uc[a];
if (a * b < 1LL << 24) ret -= uc[a * b];
retxor ^= ret;
}
printf("%lld\n", retxor);
}
hitonanode