pipi有一堆樂高小積木,小積木剛好是1x1x1的立方體,popo把這些立方體壘起來組成了n根柱子。
popo搭的柱子高度參差不齊,pipi認為這並不美觀,pipi將n根柱子的美觀度定義為最高柱子和最矮柱子的差,這個值越小越美觀。
pipi為了讓柱子變得美觀,他每次可以從某根柱子上拿下乙個樂高積木放到另一根柱子上(兩根柱子不能是同一根)。pipi可以進行不超過k次的移動操作,請問這n根柱子能夠達到的最小美觀度是多少?
第一行輸入兩個數n,k (2<=n<=1e5, 0<=k<=5000) 表示柱子的數量以及pipi最多進行的移動次數。
第二行輸入n根柱子的初始高度(1<=hi<=1e4)。
第一行輸出兩個數字 a b。代表最小美觀度和到達該美觀度最少的移動次數。
接下來b行,每行兩個數x和y,代表將x柱子上的立方體放到y上。
若x有多種選擇,那麼選擇編號盡可能大的x,若y有多種選擇,那麼選擇編號盡可能小的y(柱子編號從1~n)。
3 25 8 5
0 22 1
2 3
#include
using
namespace std;
struct bar};
set s;
vectorint,
int>
>mov;
intmain()
);} set
::iterator it;
int ans=k;
///ans賦初值為k,因為當不存在h2-h1小於等於1時,ans的值為k,如7--5
for(
int i=
0;i) s.
erase
(*s.
begin()
);s.
erase
(*it)
; s.
insert()
; s.
insert()
; mov.
push_back()
;}it=s.
end();
if(it!=s.
begin()
)--it;
int h1=
(*s.
begin()
).h,h2=
(*it)
.h;printf
("%d %d\n"
,h2-h1,ans)
;for
(int i=
0;isize()
;i++
)printf
("%d %d\n"
,mov[i]
.first,mov[i]
.second)
;return0;
}
第017講 函式 Python的樂高積木
dry是程式設計師們公認的指導原則 don t repeat yourself.快快武裝你的思維吧,拿起函式,不要再去重複拷貝一段 了!使用函式 0 可以降低 量 呼叫函式只需要一行,而拷貝黏貼需要n倍 1 可以降低維護成本 函式只需修改def部分內容,而拷貝黏貼則需要每一處出現的地方都作修改 2 ...
1424 PIPI的消消樂 弱化版 (dp)
新的消消樂遊戲又來了!有乙個集合一開始含有n個元素,pipi和popo需要輪流操作,若當前集合中還有x個元素且x大於等於2,操作者需要把f x 或者x f x 個元素從集合中刪去 若當前集合中還有x個元素且x小於2,當前操作者就輸了。其中f x y,y為滿足y 2 x的最大整數。按照慣例由pipi先...
樂高推出《刺蝟索尼克》積木套裝 完美再現綠山地帶
經歷數月等待,樂 方終於推出了 刺蝟索尼克 的積木套裝,特okevy點是忠實重現了遊戲中的綠山地帶。感興程式設計客棧趣的朋友可拿出 69.99 美元 約 446 rmb 去一套,且套裝中包括了大反派蛋頭博士 dr.eggman 和混沌翡翠 chaos emeralds 等元素。該套裝全稱為 lego...