小明發現**的自動對局系統在匹配對手時,只會將積分差恰好是k
的兩名使用者匹配在一起。如果兩人分差小於或大於
k,系統都不會將他們匹配。
現在小明知道這個**總共有n
名使用者,以及他們的積分分別是
a1, a2, ... an
。任意兩名使用者積分差不等於
k)?
輸入第一行包含兩個個整數n和k
。第二行包含n
個整數a1, a2, ... an
。 對於30%
的資料,
1 <= n <= 10
對於100%
的資料,
1 <= n <= 100000, 0 <= ai <= 100000, 0 <= k <= 100000
輸出乙個整數,代表答案。
樣例輸入:
10 0
1 4 2 8 5 7 1 4 2 8
樣例輸出:
再比如,
樣例輸入:
10 1
2 1 1 1 1 4 4 3 4 4
樣例輸出:
資源約定:
峰值記憶體消耗 < 256m
cpu消耗
< 1000ms
請嚴格按要求輸出,不要畫蛇添足地列印類似:「請您輸入...
」 的多餘內容。
所有**放在同乙個原始檔中,除錯通過後,拷貝提交該原始碼。
注意: main
函式需要返回
0注意:
只使用ansi c/ansi c++
標準,不要呼叫依賴於編譯環境或作業系統的特殊函式。
注意:
所有依賴的函式必須明確地在原始檔中
#include
, 不能通過工程設定而省略常用標頭檔案。
提交時,注意選擇所期望的編譯器型別
解題思路:可以對每個積分存在的人數進行計數,按照積分分為k組(k=0時特殊處理),因為不同組的人不會匹配,所以只需要考慮同一組中最多會有多少人不會匹配即可(動態規劃實現)
#include #define m 100001
#define max(a,b) a>b?a:b
int score[m]=;
int search(int k);
int main(void)
printf("%d",search(k));
}int search(int k)
,dp[m]=;
if(k==0) //為0時特殊考慮 }
else
dp[0] = val[0];
for(j=1;jsum+=dp[m-1]; //加上這一組的最大人數
} }return sum;
}
2014藍橋杯決賽 本科B組 生物晶元
x博士正在研究一種生物晶元,其邏輯密集度 容量都遠遠高於普通的半導體晶元。博士在晶元中設計了 n 個微型光源,每個光源操作一次就會改變其狀態,即 點亮轉為關閉,或關閉轉為點亮。這些光源的編號從 1 到 n,開始的時候所有光源都是關閉的。博士計畫在晶元上執行如下動作 所有編號為2的倍數的光源操作一次,...
藍橋杯 B組 決賽 感悟
其實並不是太想寫這個感悟,雖說沒什麼臉面,但還是有必要寫的,畢竟菜鳥還是得多反思呀。在藍橋盃國賽前一天晚上,自己的 qq 號被盜了,然後 訊息,我手速太慢,好叭,是它發的速度太快了,好多都沒撤回,當時弄得心態很崩.看來遇啥啥不順。在賽場上,其實個人認為做的比較小心,畢竟當時不能判呀,但是還是嗚嗚嗚 ...
2023年藍橋杯B組C C 決賽題目
從昏迷中醒來,小明發現自己被關在x星球的廢礦車裡。礦車停在平直的廢棄的軌道上。他的面前是兩個按鈕,分別寫著 f 和 b 小明突然記起來,這兩個按鈕可以控制礦車在軌道上前進和後退。按f,會前進97公尺。按b會後退127公尺。透過昏暗的燈光,小明看到自己前方1公尺遠正好有個監控探頭。他必須設法使得礦車正...