题目:
太简单了,原题略。简单说,奶的总需求量N,奶农数目m,长度m的两个数组,p:各个奶农卖奶单价,a:各个奶农的奶量。求花的最少价钱。
思路:
略
方案:
快排加贪心
代码:
typedef struct Node { int p,a; }Node;
1 int PriceCaculate(int N,int M,Node *start) 2 { 3 int left=N,cost=0,i=0; 4 qsort(start,M,sizeof(Node),comp); 5 while(left>start[i].a) 6 { 7 left-=start[i].a; 8 cost+=start[i].a*start[i++].p; 9 } 10 cost+=left*start[i].p; 11 return cost; 12 } 13 14 int comp(const void *a,const void *b) 15 { 16 return ((Node *)a)->p-((Node *)b)->p; 17 }