Please sign in first.
提出 #70108723
ソースコード 拡げる
#include <stdio.h>
#include <inttypes.h>
#define MOD_BY 998244353
int mul(int a, int b) {
return (int)((int64_t)a * b % MOD_BY);
}
int pou(int a, uint64_t b) {
int r = 1;
while (b > 0) {
if (b & 1) r = mul(r, a);
a = mul(a, a);
b >>= 1;
}
return r;
}
int main(void) {
uint64_t N;
if (scanf("%" SCNu64, &N) != 1) return 1;
printf("%d\n", pou(2, N - 1));
return 0;
}
/*
P_1:まず適当に決める
P_i (i >= 2):「それまでの最大値+1」か「それまでの最小値-1」の2択
+n / -n (n > 1) を使ってしまうと、後で中途半端な値しか残らなくなって詰む
*/
提出情報
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 300 / 300 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | example0.txt, example1.txt |
| All | example0.txt, example1.txt, max_rand0.txt, max_rand1.txt, max_rand2.txt, maximum0.txt, minimum0.txt, random0.txt, random1.txt, random2.txt, random3.txt, random4.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| example0.txt | AC | 0 ms | 1628 KiB |
| example1.txt | AC | 0 ms | 1632 KiB |
| max_rand0.txt | AC | 0 ms | 1612 KiB |
| max_rand1.txt | AC | 0 ms | 1692 KiB |
| max_rand2.txt | AC | 0 ms | 1720 KiB |
| maximum0.txt | AC | 0 ms | 1704 KiB |
| minimum0.txt | AC | 0 ms | 1624 KiB |
| random0.txt | AC | 0 ms | 1548 KiB |
| random1.txt | AC | 1 ms | 1700 KiB |
| random2.txt | AC | 0 ms | 1720 KiB |
| random3.txt | AC | 0 ms | 1628 KiB |
| random4.txt | AC | 0 ms | 1724 KiB |