比赛 2026.1.3 评测结果 WWAAWAWAAA
题目名称 极差序列 最终得分 60
用户昵称 HXF_0号 运行时间 0.595 s
代码语言 C++ 内存使用 5.18 MiB
提交时间 2026-01-03 09:15:58
显示代码纯文本
#include<bits/stdc++.h>
#define N 200001
#define ll long long
#define mod 998245353
using namespace std;
ll n,k,a[N],ans,minx=1,maxx=2,pow2[N],cnt;
int main(){
	freopen("maxmin.in","r",stdin);
	freopen("maxmin.out","w",stdout);
    cin>>n>>k;
    pow2[0]=1;
    for(int i=1;i<=n;i++){
    	cin>>a[i];
    	pow2[i]=pow2[i-1]*2%mod;
	}
    sort(a+1,a+n+1);
    while(minx<=n&&maxx<=n){
    	if(a[maxx]-a[minx]==k){
    		ans=(ans+pow2[maxx-minx-1])%mod;
    		maxx++;
		}else if(a[maxx]-a[minx]>k) minx++;
    	else maxx++;
	}
	for(int i=minx+1;i<=n;i++)
	if(a[n]-a[i]==k) ans=(ans+pow2[maxx-minx-1])%mod;
	cout<<ans<<endl;
    return 0;
}