1 条题解
-
1
:
#include<bits/stdc++.h> #define endl "\n" using namespace std; long long a[2000005]; int main(){ int n,k; cin>>n>>k; for(int i=1;i<=n;i++){ cin>>a[i]; } sort(a+1,a+n+1); long long end[2000005]={0}; int m=n-k; for(int i=1;i<=n-m;i++){ end[i]=a[i+m-1]-a[i]; } long long minn=LLONG_MAX; for(int i=1;i<=n-m;i++){ minn=min(minn,end[i]); } cout<<minn; return 0; }

$总共 n 个数字,左边第一个编号是 1, 右边第一个编号是 n ,从右往左数的第 m 个元素的编号是几?$
来!
#include<bits/stdc++.h> #define endl "\n" using namespace std; long long a[2000005]; int main(){ int n,k; cin>>n>>k; for(int i=1;i<=n;i++){ cin>>a[i]; } sort(a+1,a+n+1); long long end[2000005]={0}; int m=n-k; for(int i=1;i<=n-m+1;i++){ end[i]=a[i+m-1]-a[i]; } long long minn=LLONG_MAX; for(int i=1;i<=n-m+1;i++){ minn=min(minn,end[i]); } cout<<minn; return 0; }

信息
- ID
- 921
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 2
- 标签
- 递交数
- 7
- 已通过
- 2
- 上传者