致设计网站官网,有没有做生物科技相关的网站,七台河建网站,微页制作网站模板下载正题
题目大意:https://jzoj.net/senior/#main/show/1246 题目大意 nnn头牛#xff0c;第iii头吃的东西价格大于aia_iai#xff0c;鲜嫩度大于bib_ibi。mmm个吃的#xff0c;第iii个价格为cic_ici#xff0c;鲜嫩度为did_idi。 求满足所有奶牛的情况下最少要花多少…正题
题目大意:https://jzoj.net/senior/#main/show/1246 题目大意
nnn头牛第iii头吃的东西价格大于aia_iai鲜嫩度大于bib_ibi。mmm个吃的第iii个价格为cic_ici鲜嫩度为did_idi。 求满足所有奶牛的情况下最少要花多少钱。 解题思路
按照鲜嫩程度排序然后枚举奶牛时依次加入物品对于每个奶牛选择满足它要求的最便宜的物品用multisetmultisetmultiset维护即可。 codecodecode
#includecstdio
#includecstring
#includealgorithm
#includeset
#define ll long long
using namespace std;
const ll N100100;
multisetint s;
struct node{ll v,w;
}a[N],b[N];
ll n,m,ans;
bool cmp(node x,node y)
{return x.wy.w;}
int main()
{scanf(%lld%lld,n,m);for(ll i1;in;i)scanf(%lld%lld,a[i].v,a[i].w);for(ll i1;im;i)scanf(%lld%lld,b[i].v,b[i].w);sort(a1,a1n,cmp);sort(b1,b1m,cmp);ll l1;for(ll i1;in;i){while(lmb[l].wa[i].w)s.insert(b[l].v);multisetint::iterator its.lower_bound(a[i].v);if(its.end()){printf(-1);return 0;}ans*it;s.erase(it);}printf(%lld,ans);
}