提出 #69709559
ソースコード 拡げる
#include<bits/stdc++.h>
#define L(i, j, k) for(int i = (j); i <= (k); i++)
#define R(i, j, k) for(int i = (j); i >= (k); i--)
#define ll long long
#define sz(a) ((int) a.size())
#define vi vector<int>
#define pb emplace_back
#define me(a, x) memset(a, x, sizeof(a))
using namespace std;
const int N = 1e6 + 7, mod = 998244353, inv2 = (mod + 1) / 2;
int qpow(int x, int y = mod - 2) {
int res = 1;
for(; y; x = (ll) x * x % mod, y >>= 1) if(y & 1) res = (ll) res * x % mod;
return res;
}
int fac[N], ifac[N], inv[N];
void init(int x) {
fac[0] = ifac[0] = inv[1] = 1;
L(i, 2, x) inv[i] = (ll) (mod - mod / i) * inv[mod % i] % mod;
L(i, 1, x) fac[i] = (ll) fac[i - 1] * i % mod, ifac[i] = (ll) ifac[i - 1] * inv[i] % mod;
}
int C(int x, int y) {
return x < y || y < 0 ? 0 : (ll) fac[x] * ifac[y] % mod * ifac[x - y] % mod;
}
inline int sgn(int x) {
return (x & 1) ? mod - 1 : 1;
}
int n, k, m;
int a[N];
int ans;
int main() {
ios :: sync_with_stdio(false);
cin.tie(0); cout.tie(0);
cin >> m >> k >> n;
L(i, 1, n) {
cin >> a[i];
a[i + n] = a[i] + m;
}
ans = n * 4;
L(l, 1, n) {
int p = lower_bound(a + l, a + l + n, a[l] + k) - a - l;
if(p >= 3) {
(ans += p - 2) %= mod;
}
}
ans = (ll)ans * qpow(2, n - 1) % mod * inv2 % mod * inv2 % mod;
cout << ans << '\n';
return 0;
}
提出情報
ジャッジ結果
| セット名 |
Sample |
All |
| 得点 / 配点 |
0 / 0 |
700 / 700 |
| 結果 |
|
|
| セット名 |
テストケース |
| Sample |
00-sample-001.txt, 00-sample-002.txt, 00-sample-003.txt, 00-sample-004.txt |
| All |
00-sample-001.txt, 00-sample-002.txt, 00-sample-003.txt, 00-sample-004.txt, 01-001.txt, 01-002.txt, 01-003.txt, 01-004.txt, 01-005.txt, 01-006.txt, 01-007.txt, 01-008.txt, 01-009.txt, 01-010.txt, 01-011.txt, 01-012.txt, 01-013.txt, 01-014.txt, 01-015.txt, 01-016.txt, 01-017.txt, 01-018.txt, 01-019.txt, 01-020.txt, 01-021.txt, 01-022.txt, 01-023.txt, 01-024.txt, 01-025.txt, 01-026.txt, 01-027.txt, 01-028.txt |
| ケース名 |
結果 |
実行時間 |
メモリ |
| 00-sample-001.txt |
AC |
1 ms |
3376 KiB |
| 00-sample-002.txt |
AC |
1 ms |
3440 KiB |
| 00-sample-003.txt |
AC |
1 ms |
3460 KiB |
| 00-sample-004.txt |
AC |
1 ms |
3332 KiB |
| 01-001.txt |
AC |
1 ms |
3468 KiB |
| 01-002.txt |
AC |
1 ms |
3400 KiB |
| 01-003.txt |
AC |
1 ms |
3528 KiB |
| 01-004.txt |
AC |
1 ms |
3400 KiB |
| 01-005.txt |
AC |
1 ms |
3400 KiB |
| 01-006.txt |
AC |
5 ms |
3932 KiB |
| 01-007.txt |
AC |
10 ms |
4552 KiB |
| 01-008.txt |
AC |
6 ms |
4036 KiB |
| 01-009.txt |
AC |
4 ms |
3856 KiB |
| 01-010.txt |
AC |
12 ms |
4488 KiB |
| 01-011.txt |
AC |
20 ms |
5552 KiB |
| 01-012.txt |
AC |
16 ms |
5400 KiB |
| 01-013.txt |
AC |
19 ms |
5560 KiB |
| 01-014.txt |
AC |
17 ms |
5412 KiB |
| 01-015.txt |
AC |
18 ms |
5552 KiB |
| 01-016.txt |
AC |
16 ms |
5368 KiB |
| 01-017.txt |
AC |
18 ms |
5360 KiB |
| 01-018.txt |
AC |
20 ms |
5264 KiB |
| 01-019.txt |
AC |
17 ms |
5484 KiB |
| 01-020.txt |
AC |
17 ms |
5416 KiB |
| 01-021.txt |
AC |
14 ms |
5424 KiB |
| 01-022.txt |
AC |
14 ms |
5420 KiB |
| 01-023.txt |
AC |
16 ms |
5244 KiB |
| 01-024.txt |
AC |
20 ms |
5480 KiB |
| 01-025.txt |
AC |
21 ms |
5416 KiB |
| 01-026.txt |
AC |
20 ms |
5424 KiB |
| 01-027.txt |
AC |
20 ms |
5424 KiB |
| 01-028.txt |
AC |
20 ms |
5428 KiB |