結果
問題 | No.896 友達以上恋人未満 |
ユーザー | milanis48663220 |
提出日時 | 2019-09-27 23:53:44 |
言語 | C++11 (gcc 11.4.0) |
結果 |
MLE
|
実行時間 | - |
コード長 | 1,540 bytes |
コンパイル時間 | 583 ms |
コンパイル使用メモリ | 55,560 KB |
実行使用メモリ | 214,628 KB |
最終ジャッジ日時 | 2024-09-25 02:56:00 |
合計ジャッジ時間 | 6,342 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 3 ms
6,812 KB |
testcase_01 | AC | 2 ms
6,940 KB |
testcase_02 | AC | 2 ms
6,944 KB |
testcase_03 | AC | 3 ms
6,944 KB |
testcase_04 | AC | 2 ms
6,944 KB |
testcase_05 | AC | 425 ms
71,008 KB |
testcase_06 | AC | 699 ms
71,000 KB |
testcase_07 | AC | 427 ms
71,012 KB |
testcase_08 | AC | 409 ms
71,140 KB |
testcase_09 | AC | 1,143 ms
136,164 KB |
testcase_10 | MLE | - |
ソースコード
#include <iostream> using namespace std; long z[(1<<24)+1]; long cnt[(1<<24)+1]; long x[1000], y[1000], a[1000], b[1000]; int main(){ long M, N, mx, my, ax, ay, MOD; cin >> M >> N >> mx >> ax >> my >> ay >> MOD; for(long i = 0; i < M; i++){ cin >> x[i]; } for(long i = 0; i < M; i++){ cin >> y[i]; } for(long i = 0; i < M; i++){ cin >> a[i]; } for(long i = 0; i < M; i++){ cin >> b[i]; z[x[i]] += y[i]; } long xp = x[M-1]; long yp = y[M-1]; for(long i = M; i < N; i++){ long X, Y; X = xp*mx+ax; Y = yp*my+ay; X &= (MOD-1); Y &= (MOD-1); z[X] += Y; xp = X; yp = Y; //cout << X << ' ' << Y << endl; } for(long i = 1; i < MOD; i++){ for(long j = 1; i*j < MOD; j++){ cnt[i] += z[i*j]; } //cout << cnt[i] << ' '; } //cout << endl; long xo = 0; for(long i = 0; i < M; i++){ long ans = cnt[a[i]]; if(a[i]*b[i] < MOD) ans -= cnt[a[i]*b[i]]; //cout << a[i] << ' ' << b[i] << endl; cout << ans << endl; xo ^= ans; } long ap = a[M-1], bp = b[M-1]; for(long i = M; i < N; i++){ long A, B; A = ((ap*mx+ax+MOD-1)&(MOD-1))+1; B = ((bp*my+ay+MOD-1)&(MOD-1))+1; long ans = cnt[A]; if(A*B < MOD) ans -= cnt[A*B]; // cout << A << ' ' << B << endl; xo ^= ans; ap = A; bp = B; } cout << xo << endl; }