你作為乙個村的村長,保衛村莊是理所當然的了.今天,村莊裡來了乙隻惡龍,他有n個頭,惡龍到處殺人放火。你著急了。不過天無絕人之路,現在來了乙個騎士團。裡面有m位成員(往下看)
每個人都可以砍掉乙個大小不超過(<=)z的頭,要money個金幣,求最小花費。
輸入格式:
第一行兩個整數 n m
下接n行,乙個整數 表示n個頭的大小。
下接m行,每個人可以砍的頭大小或金幣(金幣==頭的大小)。
輸出格式:
乙個整數,最小花費。如果無解,輸出「you died!」
#include#include#includeusing namespace std;
int n,m,a,b,c,d,x[20005],y[20005],cnt,k;
int main()
for(a=1;a<=m;a++)
sort(x+1,x+n+1);
sort(y+1,y+m+1);
k=1;
for(a=1;a<=n;a++)
}if(b>m)
}cout<
P2695 騎士的工作
你作為乙個村的村長,保衛村莊是理所當然的了.今天,村莊裡來了乙隻惡龍,他有n個頭,惡龍到處殺人放火。你著急了。不過天無絕人之路,現在來了乙個騎士團。裡面有m位成員 往下看 每個人都可以砍掉乙個大小不超過 z的頭,要money個金幣,求最小花費。輸入格式 第一行兩個整數 n m 下接n行,乙個整數 表...
落谷 P2695 騎士的工作 簡單貪心
題目鏈結 騎士排個序 遍歷每個頭 用lower bound 二分查詢乙個大於等於他的騎士 需要注意的是 每個騎士只能上場一次 所以用乙個陣列標記下 include include include include include include includeusing namespace std d...
騎士的金幣
國王用金幣賞賜忠於他的騎士。騎士在就職的第一天獲得一枚金幣。接下來的兩天 第二天和第三天 每天獲得兩枚金幣 接下來的第三天 第 四 五 六天 每天獲得三枚金幣。接下來的四天 第七 8 九 十天 每天獲得四枚金幣。這樣的賞賜形式一直延續 即連續n天騎士每天都獲得n枚金幣後,連續n 1天每天都將獲得n ...