首页 > 其他 > 详细

乙_1020 月饼 (25分)

时间:2020-05-29 21:41:49      阅读:37      评论:0      收藏:0      [点我收藏+]

问题描述:

技术分享图片

 

 

总结:

 

忘记break;一直无法找见错误;

代码:

#include <iostream>
#include <cstring>
#include <algorithm>
#include <cstdio>
#include <algorithm>
//#include <sstream>
//#include <cmath>
//#include <stack>
using namespace std;
struct mc{
double pr,num,one ; 
 
}m[1010];
bool cmp(mc a, mc b){
 
 return a.one>b.one ;
 
}
 

int main()
{
 int n ,d ;
     
 cin >> n >>  d;
 
for(int i=0;i<n;i++) 
    cin >>   m[i].num ;
for(int i=0 ; i<n;i++)    {
   cin >>  m[i].pr;  
  m[i].one = m[i].pr/m[i].num;          // 按单价排序
}
//for(int i=0 ; i<n;i++)    {
//   cout <<  m[i].one << " hh"<<  m[i].pr<< " hh"<< m[i].num <<endl;
//}
//
sort(m,m+n,cmp);

 double sum =0;
for(int i=0;i<n;i++){ 
  if((d-m[i].num)>0)  {
   sum += m[i].pr;
   d = d-m[i].num;
  }
  else {
   
   sum +=  d*m[i].one;
   break;                              // key
  }
}
 printf("%.2f",sum);
 
     return 0;
}

 

 

 

 

 

 

 

 

技术分享图片

 

乙_1020 月饼 (25分)

原文:https://www.cnblogs.com/xueshadouhui/p/12989470.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!