大佬们帮忙debug一下,谢谢
查看原帖
大佬们帮忙debug一下,谢谢
572133
潘德理2010楼主2023/7/22 20:09

赛时写的,只有48分:

#include<bits/stdc++.h>
using namespace std;
int n,m,ans=2e9,c=0,a[100010]={};
struct p{
	int v;
	int id;
}x[100010];
queue<p> q;
bool cmp(p a,p b){
	return a.v<b.v;
}
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++) cin>>x[i].v,x[i].id=i;
	sort(x+1,x+n+1,cmp);
	for(int i=1;i<=n;i++){
		if(a[x[i].id+1]||a[x[i].id-1]) continue;
		c++;
		a[x[i].id]=1;
		q.push(x[i]);
		if(c==m){
			c--;
			a[q.front().id]=0;
			ans=min(ans,q.back().v-q.front().v);
			q.pop();
		}
	}
	cout<<ans;
}
2023/7/22 20:09
加载中...