美团校招算法题(3)-2021.10.10

T3  小美的礼物

题目描述:

​ 小美要给n个朋友送礼物,第i个朋友需要送ai个礼物。商店里有m种礼物,第j种礼物的价格为bj 。不同的人对礼物有不同过的要求。有的人希望礼物更加贵重,而有的人认为心意到了就行。因此第i位朋友的每种礼物价格均不能低于ci

​ 请问给第i位朋友的礼物的最低价格总和为多少?(同一种礼物不能送给同一个人两份,但不同的朋友可以收到相同的礼物)。

输入描述:

第一行两个正整数n,m(1<=n, m<=5*10^4)
第二行n个正整数a1,a2,......,an(1<=ai<=m)
第三行m个正整数b1,b2,......,bn(1<=bi<=10^6)
第四行n个正整数c1,c2,......,cn(1<=ci<=10^6)
数字间两两有空格隔开

输出描述:

仅一行,由一个空格分隔的n个数。第i个数表示第i位朋友收到的礼物的最低价格总和。如果没有合法方案,输出-1.

样例输入:

3 5
2 3 3
100 200 300 400 500
200 300 400

样例输出:

500 1200 -1

答案见 https://gitee.com/ashscc/java-ptn/tree/master/algorithm/code/java/牛客网/各家面试题/美团

posted @ 2021-10-10 23:55  orangeScc  阅读(139)  评论(0编辑  收藏  举报