有n個人想要下棋(1 對 1),但是大家都想和與自己水平差不多的人下棋,已知每個人都有乙個實力值,如果倆人實力相差 >= k,那麼他們就不會浪費時間去切磋棋藝。求最多需要多少棋盤,兩個人互相切磋只需要乙個棋盤。
第一行乙個整數t,表示t組輸入,t <= 100接下來t組資料,每組資料第一行有兩個整數用空格分隔表示n,k,(1 <= n,k <= 1000)。
每組資料第二行,有n個整數用空格分隔表示a_i,(0 <= a_i <= 10000)
每組資料輸出乙個整數佔一行表示最多需要多少棋盤複製
15 21 2 3 4 5
2思路:
假設4人,a1,a2,a3,a4,從小到大排序,如果a3-a1,a4-a2都成立,那麼a2-a1,a4-a3一定成立。
所以排個序,掃過去即可。
#include#include#include#include#include#include#includeconst double pi = acos(-1);
const int n=1e6+5;
#define mm(a) memset(a,0,sizeof(a))
using namespace std;
int a[n];
int main()
printf("%d\n",ans);
}return 0;
}
2066 分組統計
時間限制 1 sec 記憶體限制 32 mb 提交 474 解決 115 提交 狀態 討論版 命題人 外部匯入 先輸入一組數,然後輸入其分組,按照分組統計出現次數並輸出,參見樣例。輸入第一行表示樣例數m,對於每個樣例,第一行為數的個數n,接下來兩行分別有n個數,第一行有n個數,第二行的n個數分別對應...
模擬8 03 分組
好題 k 1做法 直接倒著找,滿足貪心性質,預處理出每個平方數就行.1 include2 include3 include 4 include5 include6 include7 include8 include 9 include10 define maxn 300001 11 define i...
4 分組聚合
引數名 接受 含義 預設 by 1.若為函式,則對索引進行計算並分組 2.若為字典 series,則將字典 series的值做為分組依據 3.若為numpy陣列,則以陣列元素為分組依據 4.若為字串 字串列表,則以其所代表的字段進行分組 無axis int表示操作軸向 0level int 索引名 ...