问题标题: 酷町堂:4369 布展(diff)

0
0
已解决
周琪岳
周琪岳
资深光能
资深光能

请问 4369   布展(diff) 除了滑动窗口方法还有没有什么其他方法(不包括暴力枚举)


0
已采纳
黄子扬
黄子扬
初级天翼
初级天翼

从头或尾判断一下,那个差大减那个

0
被禁言 何冯成
何冯成
中级光能
中级光能
#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
int a[1100000],minn=100000;
int main(){
    //freopen("diff.in","r",stdin);
    //freopen("diff.out","w",stdout); 
    int n,k;
    cin>>n>>k;
    for(int i=1;i<=n;i++) cin>>a[i];
    sort(a+1,a+n+1);
    int i=1,j=n-k; 
    while(j<=n){
        if(minn>a[j]-a[i]){
            minn=a[j]-a[i];
        }
        i++;
        j++;
    }
    cout<<minn;































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































    //fclose(stdin);
    //fclose(stdout);

return 0;   
}

 

0
周琪岳
周琪岳
资深光能
资深光能

@黄子扬 如果差一样呢(循环到了最后一次,只有一个减去的机会)?

周琪岳在2020-08-02 12:09:20追加了内容

指一个大的,一个小的

我要回答