发现我真的是很喜欢使用优先度咧
一个牛奶包装商人,从不同的奶农手里收购牛奶,以最低的价格买够每日所需,问最少花多少钱。直接贪心,
/* ID: modengd1 PROG: milk LANG: C++ */ #include <iostream> #include <stdio.h> #include <queue> struct node { int P; int A; node(int p,int a) { A=a; P=p; } node(){} bool friend operator <(node n1,node n2) { return n1.P>n2.P; } }; using namespace std; int main() { freopen("milk.in","r",stdin); freopen("milk.out","w",stdout); int N,M,a,b,ans; priority_queue<node> Q; scanf("%d%d",&N,&M); for(int i=0;i<M;i++) { scanf("%d%d",&a,&b); Q.push(node(a,b)); } ans=0; while(N>0) { node now=Q.top(); Q.pop(); if(N>=now.A) { N-=now.A; ans+=now.A*now.P; } else { ans+=N*now.P; break; } } cout<<ans<<endl; return 0; }
时间: 2024-10-10 08:23:10