大佬们我这个哪里错了
查看原帖
大佬们我这个哪里错了
579961
JunBuJian楼主2022/4/3 17:47
#include<iostream>
#include<algorithm>

using namespace std;
const int N = 5e4 + 5;
int a[N];
int n,k;
int sum1,sum2;

int main()
{
    cin >> n >> k;
    
    for(int i = 1;i <= n;i ++) cin >> a[i];
    
    sort(a + 1,a + n + 1);//先排序
    
    for(int i = 1;i <= n;i ++) cout << a[i] << " ";
    
    cout << endl;
    
    int l = 1,r = 1;
    for(l = 1;l <= n;l ++){
        int mi = a[r],ma = a[l];
        int d = abs(ma - mi);
        
        while(r <= n && d <= k){
            r ++;
            ma = max(ma,a[r]);
            mi = min(mi,a[r]);
            d = abs(ma - mi);
        }
        
        if(sum1 < sum2) sum1 = max(sum1,r - l);
        else sum2 = max(sum2,r - l);
        l = r - 1;
    }
    cout << sum1 << " " << sum2 << endl;
    cout << sum1 + sum2;
    
    return 0;
}
2022/4/3 17:47
加载中...