QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#67212 | #5099. 朝圣道 | yehaodee | 0 | 0ms | 0kb | C++14 | 1.6kb | 2022-12-10 10:42:40 | 2022-12-10 10:42:42 |
Judging History
answer
#include <bits/stdc++.h>
#define N 200005
#define ll long long
#define DEBUG
#define pii pair<int, int>
#define mp make_pair
#define fi first
#define se second
using namespace std;
// TODO: your functions
namespace sub1 {
#define kN 3005
ll inv2, inv4, P[kN][kN * 2], ans[kN], mod;
ll exgcd(int a, int b, ll &x, ll &y) {
if (!b) { x = 1, y = 0; return a; }
ll t = exgcd(b, a % b, y, x);
y -= a / b * x;
}
ll qpow(ll a, ll b) { ll r = 1; while (b) { if (b & 1ll) r = r * a % mod; a = a * a % mod, b >>= 1ll; } return r; }
void preinit(ll pm) { mod = pm;
P[0][0 + kN] = 1; inv2 = (mod + 1) / 2; ll y; exgcd(4, mod, inv4, y);
inv4 = (inv4 + pm) % pm;
for (int k = 1; k <= 3000; k++) {
for (int i = -3000; i <= 3000; i++) {
P[k][i + kN] = 1ll * (1ll * P[k - 1][i - 1 + kN] * inv4 % mod + 1ll * P[k - 1][i + kN] * inv2 % mod + 1ll * P[k - 1][i + 1 + kN] * inv4 % mod) % mod;
}
for (int i = -3000; i <= 3000; i++) {
ans[k] = (ans[k] + 1ll * abs(i) * P[k][i + kN] % mod) % mod;
}
}
}
} // sub1
void init(int o, int p) { // o is subtask id, p is mod
// TODO: your init
sub1::preinit(p);
}
int ask(ll n) {
// TODO: your ask
if (n <= 3000) { return sub1::ans[n]; }
return 1;
}
// #define TEST
#ifdef TEST
ll o, T, p, n[N];
int main() {
#ifndef ONLINE_JUDGE
freopen("test.in", "r", stdin); freopen("test.out", "w", stdout);
#endif
scanf("%lld%lld%lld", &o, &T, &p);
init(o, p);
for (int i = 1; i <= T; i++) { scanf("%lld", &n[i]); printf("%lld\n", ask(n[i])); }
return 0;
}
#endif
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 0
Time Limit Exceeded
Test #1:
score: 0
Time Limit Exceeded
input:
1 910276 554767 6 10 7 4 10 12 9 3 3 5 7 10 5 6 1 6 3 9 6 8 12 11 8 2 12 5 9 3 8 2 12 11 2 3 4 9 2 5 5 11 6 4 8 11 3 9 2 2 8 9 2 8 9 6 2 9 2 10 10 7 5 6 4 4 11 12 8 8 2 2 4 3 3 5 6 6 8 11 6 9 9 3 4 1 2 2 6 9 9 2 3 2 12 6 1 7 2 4 12 11 4 7 6 3 9 4 6 5 3 3 12 6 2 1 1 7 2 6 5 9 11 6 3 4 11 1 2 4 5 4 10...
output:
Unauthorized output
result:
Subtask #2:
score: 0
Skipped
Dependency #1:
0%
Subtask #3:
score: 0
Time Limit Exceeded
Test #5:
score: 0
Time Limit Exceeded
input:
3 1 334547 8234
output:
Unauthorized output
result:
Subtask #4:
score: 0
Skipped
Dependency #3:
0%
Subtask #5:
score: 0
Skipped
Dependency #4:
0%
Subtask #6:
score: 0
Time Limit Exceeded
Test #8:
score: 0
Time Limit Exceeded
input:
6 958477 522361 280121915553826833 734266539148641647 72849162479700582 274266741463686096 60278972064195458 828423669427600612 571432949203039978 518511460268700898 486268614705621285 19216283231217074 611458416727512530 175147354285288662 799769622289998997 400123443628688299 145546980862133838 40...
output:
Unauthorized output
result:
Subtask #7:
score: 0
Skipped
Dependency #3:
0%
Subtask #8:
score: 0
Time Limit Exceeded
Test #33:
score: 0
Time Limit Exceeded
input:
8 9963 251 831797004675585320 494759973681332858 701341496127272302 252910460485222469 250965009655458584 366193481309061299 633134388675839346 791999098066205672 196620805863610860 363773642045280947 466508590762410710 407790578717064135 181590911404670570 570642047249889864 70138464625729452 23634...
output:
Unauthorized output
result:
Subtask #9:
score: 0
Skipped
Dependency #2:
0%