提出 #70800130
ソースコード 拡げる
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define FAST ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
#define mp make_pair
#define pb push_back
#define lp(i,s,f) for(ll i = s; i < ll(f); i++)
#define inF freopen("input.in", "r", stdin);
#define outF freopen("output.in", "w", stdout);
#define endl '\n'
#define MOD 998244353
#define mm(arr) memset(arr, 0, sizeof(arr))
#define F first
#define S second
#define int ll
const int N = 1e6 + 5;
int fact[N], inv[N];
int fastpow(int b, int p){
if(p == 0){
return 1;
}
if(p == 1){
return b%MOD;
}
int ans = fastpow(b, p / 2);
ans *= ans;
ans %= MOD;
if(p&1){
ans *= b%MOD;
ans %= MOD;
}
return ans;
}
int nck(int n, int k){
if(k > n){
return 0;
}
int ans = fact[n];
ans *= inv[k];
ans %= MOD;
ans *= inv[n - k];
ans %= MOD;
return ans;
}
void init(){
fact[0] = 1, inv[0] = 1;
for(int i = 1; i < N; i++){
fact[i] = (fact[i - 1] * i)%MOD;
inv[i] = fastpow(fact[i], MOD - 2);
}
}
int32_t main(){
FAST
int n, d; cin >> n >> d;
init();
vector<int> v(n);
for(int i = 0; i < n; i++){
cin >> v[i];
}
sort(v.begin(), v.end());
int ans = 1;
for(int i = 0; i < n; i++){
int freq = 0;
int curr = i;
while(curr < n && v[curr] == v[i]){
curr++;
freq++;
}
int ind = lower_bound(v.begin(), v.end(), v[i] - d) - v.begin();
int can = max(0LL, i - ind) + 1;
ans *= nck(can + freq - 1, freq);
ans %= MOD;
i = curr;
i--;
}
cout << ans;
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | F - Almost Sorted 2 |
| ユーザ | Basilhijaz |
| 言語 | C++23 (Clang 21.1.0) |
| 得点 | 500 |
| コード長 | 1799 Byte |
| 結果 | AC |
| 実行時間 | 297 ms |
| メモリ | 20172 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 500 / 500 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt |
| All | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_test_00.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt, 01_test_14.txt, 01_test_15.txt, 01_test_16.txt, 01_test_17.txt, 01_test_18.txt, 01_test_19.txt, 01_test_20.txt, 01_test_21.txt, 01_test_22.txt, 01_test_23.txt, 01_test_24.txt, 01_test_25.txt, 01_test_26.txt, 01_test_27.txt, 01_test_28.txt, 01_test_29.txt, 01_test_30.txt, 01_test_31.txt, 01_test_32.txt, 01_test_33.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 00_sample_00.txt | AC | 220 ms | 18704 KiB |
| 00_sample_01.txt | AC | 219 ms | 18556 KiB |
| 00_sample_02.txt | AC | 220 ms | 18764 KiB |
| 01_test_00.txt | AC | 269 ms | 19596 KiB |
| 01_test_01.txt | AC | 266 ms | 19552 KiB |
| 01_test_02.txt | AC | 264 ms | 19448 KiB |
| 01_test_03.txt | AC | 282 ms | 19916 KiB |
| 01_test_04.txt | AC | 295 ms | 20076 KiB |
| 01_test_05.txt | AC | 271 ms | 19564 KiB |
| 01_test_06.txt | AC | 287 ms | 19948 KiB |
| 01_test_07.txt | AC | 295 ms | 20108 KiB |
| 01_test_08.txt | AC | 285 ms | 19904 KiB |
| 01_test_09.txt | AC | 284 ms | 19964 KiB |
| 01_test_10.txt | AC | 271 ms | 20064 KiB |
| 01_test_11.txt | AC | 297 ms | 20064 KiB |
| 01_test_12.txt | AC | 278 ms | 19952 KiB |
| 01_test_13.txt | AC | 290 ms | 20092 KiB |
| 01_test_14.txt | AC | 259 ms | 20076 KiB |
| 01_test_15.txt | AC | 258 ms | 20080 KiB |
| 01_test_16.txt | AC | 290 ms | 19980 KiB |
| 01_test_17.txt | AC | 279 ms | 20076 KiB |
| 01_test_18.txt | AC | 225 ms | 18704 KiB |
| 01_test_19.txt | AC | 290 ms | 20056 KiB |
| 01_test_20.txt | AC | 291 ms | 19936 KiB |
| 01_test_21.txt | AC | 291 ms | 20032 KiB |
| 01_test_22.txt | AC | 291 ms | 20172 KiB |
| 01_test_23.txt | AC | 291 ms | 20088 KiB |
| 01_test_24.txt | AC | 290 ms | 20080 KiB |
| 01_test_25.txt | AC | 290 ms | 20008 KiB |
| 01_test_26.txt | AC | 291 ms | 20064 KiB |
| 01_test_27.txt | AC | 291 ms | 20076 KiB |
| 01_test_28.txt | AC | 290 ms | 20080 KiB |
| 01_test_29.txt | AC | 288 ms | 20060 KiB |
| 01_test_30.txt | AC | 289 ms | 19980 KiB |
| 01_test_31.txt | AC | 288 ms | 20072 KiB |
| 01_test_32.txt | AC | 289 ms | 20088 KiB |
| 01_test_33.txt | AC | 295 ms | 19980 KiB |