提出 #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;
}

提出情報

提出日時
問題 A - Chords and Checkered
ユーザ zhoukangyang
言語 C++ 17 (gcc 12.2)
得点 700
コード長 1348 Byte
結果 AC
実行時間 21 ms
メモリ 5560 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 700 / 700
結果
AC × 4
AC × 32
セット名 テストケース
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