QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#249187#7562. Except OneUSP_USP_USP#AC ✓1ms3536kbC++231.7kb2023-11-12 01:55:022023-11-12 01:55:02

Judging History

你现在查看的是最新测评结果

  • [2023-11-12 01:55:02]
  • 评测
  • 测评结果:AC
  • 用时:1ms
  • 内存:3536kb
  • [2023-11-12 01:55:02]
  • 提交

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"