QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#249187 | #7562. Except One | USP_USP_USP# | AC ✓ | 1ms | 3536kb | C++23 | 1.7kb | 2023-11-12 01:55:02 | 2023-11-12 01:55:02 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define int ll
#define all(v) (v).begin(), (v).end()
#define pb push_back
void dbg_out() { cerr << endl; }
template <typename H, typename... T>
void dbg_out(H h, T... t) { cerr << ' ' << h; dbg_out(t...); }
#define dbg(...) { cerr << #__VA_ARGS__ << ':'; dbg_out(__VA_ARGS__); }
int MOD = 998244353;
struct mint {
int x;
mint(): x(0) {}
mint(int _x): x(_x % MOD < 0 ? _x % MOD + MOD : _x % MOD) {}
void operator+=(mint rhs) { x += rhs.x; if(x>=MOD) x-=MOD; }
void operator-=(mint rhs) { x -= rhs.x; if(x<0) x+=MOD; }
void operator*=(mint rhs) { x = x * rhs.x % MOD; }
void operator/=(mint rhs) { *this *= rhs.inv(); }
mint operator+(mint rhs) { mint y = *this; y += rhs; return y; }
mint operator-(mint rhs) { mint y = *this; y -= rhs; return y; }
mint operator*(mint rhs) { mint y = *this; y *= rhs; return y; }
mint operator/(mint rhs) { mint y = *this; y /= rhs; return y; }
mint inv() { return this->pow(MOD-2); }
mint pow(int e) {
mint res = 1;
for(mint p = *this; e > 0; p *= p, e /= 2) if(e & 1)
res *= p;
return res;
}
};
void solve() {
int p, k, t; cin >> p >> k >> t;
MOD = p;
// mint ans = 0;
// for(int msk=0;msk<(1<<(p-1));msk++) if(__builtin_popcount(msk) == t && (msk >> (k - 1) & 1) == 0) {
// mint prod = 1;
// for(int v=0;v<p-1;v++) if(msk >> v & 1) {
// prod *= v + 1;
// }
// ans += prod;
// }
mint ans = mint (-k).pow (t);
cout << ans.x << "\n";
// cout << ans.x << '\n';
}
signed main() {
ios::sync_with_stdio(false); cin.tie(0);
solve();
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 3424kb
input:
7 5 3
output:
1
result:
ok 1 number(s): "1"
Test #2:
score: 0
Accepted
time: 0ms
memory: 3424kb
input:
11 6 7
output:
3
result:
ok 1 number(s): "3"
Test #3:
score: 0
Accepted
time: 1ms
memory: 3412kb
input:
3 2 1
output:
1
result:
ok 1 number(s): "1"
Test #4:
score: 0
Accepted
time: 1ms
memory: 3408kb
input:
596620183 516846890 38276329
output:
135352707
result:
ok 1 number(s): "135352707"
Test #5:
score: 0
Accepted
time: 0ms
memory: 3400kb
input:
382744931 85302262 235496559
output:
14577469
result:
ok 1 number(s): "14577469"
Test #6:
score: 0
Accepted
time: 0ms
memory: 3416kb
input:
659446013 641119314 378275666
output:
290624162
result:
ok 1 number(s): "290624162"
Test #7:
score: 0
Accepted
time: 0ms
memory: 3532kb
input:
227 163 124
output:
189
result:
ok 1 number(s): "189"
Test #8:
score: 0
Accepted
time: 0ms
memory: 3408kb
input:
197 187 19
output:
62
result:
ok 1 number(s): "62"
Test #9:
score: 0
Accepted
time: 1ms
memory: 3404kb
input:
5 3 3
output:
3
result:
ok 1 number(s): "3"
Test #10:
score: 0
Accepted
time: 0ms
memory: 3532kb
input:
7 6 4
output:
1
result:
ok 1 number(s): "1"
Test #11:
score: 0
Accepted
time: 0ms
memory: 3412kb
input:
7 1 1
output:
6
result:
ok 1 number(s): "6"
Test #12:
score: 0
Accepted
time: 0ms
memory: 3404kb
input:
782371 586755 418517
output:
298550
result:
ok 1 number(s): "298550"
Test #13:
score: 0
Accepted
time: 0ms
memory: 3352kb
input:
181081 178315 76002
output:
125177
result:
ok 1 number(s): "125177"
Test #14:
score: 0
Accepted
time: 1ms
memory: 3528kb
input:
715019 492103 446729
output:
221541
result:
ok 1 number(s): "221541"
Test #15:
score: 0
Accepted
time: 1ms
memory: 3536kb
input:
238985261 199832612 162675695
output:
65826267
result:
ok 1 number(s): "65826267"
Test #16:
score: 0
Accepted
time: 0ms
memory: 3412kb
input:
129716453 10994076 62963738
output:
5186275
result:
ok 1 number(s): "5186275"
Test #17:
score: 0
Accepted
time: 1ms
memory: 3400kb
input:
962360593 652577122 345596237
output:
814039152
result:
ok 1 number(s): "814039152"
Test #18:
score: 0
Accepted
time: 0ms
memory: 3408kb
input:
871606937 839183139 754188014
output:
466391387
result:
ok 1 number(s): "466391387"
Test #19:
score: 0
Accepted
time: 0ms
memory: 3384kb
input:
275568091 270750503 241146839
output:
252569968
result:
ok 1 number(s): "252569968"
Test #20:
score: 0
Accepted
time: 0ms
memory: 3332kb
input:
562028473 111749710 450258818
output:
63116256
result:
ok 1 number(s): "63116256"