题目链接:Submit - Codeforces
解题思路:
题目大概意思就是在一个数组里找n个数里的最大值减最小值的最小值,先排序,然后将第i + n - 1项减去第i项与最小值作比较,输出最小值即可,注意循环结束边界。
下面是c++代码:
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{int n, m, Min = 10000;cin >> n >> m;int* arr = new int[m];for (int i = 0; i < m; i++) {cin >> arr[i];}sort(arr, arr + m);for (int i = 0; i < m - n + 1; i++) {Min = min(Min, arr[i + n - 1] - arr[i]);}cout << Min;return 0;
}