50TLE,跪求优化
查看原帖
50TLE,跪求优化
124564
Austra楼主2020/8/12 09:41
#include<iostream>
#include<algorithm>
using namespace std;
int n,k,a[50001],ans;
int main(){
    cin>>n>>k;
    for(int i=1;i<=n;i++)cin>>a[i];
    sort(a+1,a+1+n);
    for(int i=1;i<=n;i++){
    	int x=0,y=0;
    	for(int j=i;j>=1;j--){
    		if(!x)
    			for(int m=1;m+j-1<=i;m++)
    				if(a[m+j-1]-a[m]<=k){x=j;break;}
    		if(!y)
    			for(int m=i+1;m+j-1<=n;m++)
    				if(a[m+j-1]-a[m]<=k){y=j;break;}
    		if(x&&y)break;
    	}
    	ans=max(ans,x+y);
    }
    cout<<ans;
    return 0;
}
2020/8/12 09:41
加载中...