HDU-2523SORT AGAIN(水!注意讀題!!不然會tle)

題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=2523

代碼:

/*
注意題上說了有k-1個不同!!!!的組合數小於它,所以要判重
 還有就是 題上說了每個數小於2000,所以組合數結果肯定小於2000,即結果在2000裏判斷
 不能用sort排序,結果太大,會tle! 
*/
#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
#define N 1005
using namespace std;
int a[N],vis[2005];
int main() {
	int t,n,k,h;
	scanf("%d",&t);
	while(t--) {
		scanf("%d%d",&n,&k);
		memset(vis,0,sizeof(vis));
		for(int i=0; i<n; i++) {
			scanf("%d",&a[i]);
			for(int j=0; j<i; j++) {
				h=a[i]>a[j]?a[i]-a[j]:a[j]-a[i];
				vis[h]=1;
			}
		}
		for(int i=0; i<2005; i++) {
			if(vis[i]==1) {
				if(k==1) {
					printf("%d\n",i);
					break;
				} else
					k--;
			}
		}
	}
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章