这道题有点小疑问

为什么我用sum_JavaBean+=(double)m / all_evel[j].b*all_evel[j].a;可以达到AC

用sum_JavaBean+=(double)all_evel[j].cost*m;达不到AC 有牛人可以给我解答一下

#include<cstdlib>
#include<cstdio>
#include<string.h>
#include<cmath>
#include<iostream>
#include<algorithm>
using namespace std;
struct scale
{
double a;
int b;
double cost;
};
bool complare(scale S1,scale S2)
{ return S1.cost > S2.cost; }
int main()
{
int n,m;
int i,j;
int last_level = 0;
//scale all_evel[10010];
double sum_JavaBean = 0;
while(scanf("%d %d",&m,&n)!=EOF)
{
sum_JavaBean = 0;
if(n == -1 && m == -1)
break;
scale *all_evel = new scale[n];
for(i = 0;i< n ;i++)
{
cin>>all_evel[i].a>>all_evel[i].b;
if(all_evel[i].b == 0)
{
all_evel[i].cost = 10000;
}
else
all_evel[i].cost = (float)all_evel[i].a / all_evel[i].b;
}
sort(all_evel,all_evel+n,complare);
for(j=0;j<n;j++)
{
if(m>all_evel[j].b)
{
sum_JavaBean+=all_evel[j].a;
m -= all_evel[j].b;
}
else
{
sum_JavaBean+=(double)m / all_evel[j].b*all_evel[j].a;
m = 0;
break;
delete []all_evel;
}
}
printf("%.3lf\n",sum_JavaBean);
}
return 0;
}

随机推荐

  1. python满足任意一个条件均认为假设有效(执行if内脚本)if any的用法

    下方代码,判断sta内是否包含s数组内的数字,只要包含任意一个输入ok,否则输出no s=['3','8','9'] sta='59' if s[0] in sta or s[1] in sta or ...

  2. DPDI(Dispatch PDI)kettle调度管理平台之实操演练第003讲-数据通途:客户端连接SQL Server的完美攻略

    SQL Server简介 基本概念 SQL Server是由微软公司开发的关系型数据库管理系统.它基于SQL(Structured Query Language,结构化查询语言)来管理和操作数据.SQ ...

  3. AI提示词:通用 vscode linux c++ 项目CMakeLists和bulid模板

    AI提示词 写vscode linux c++20 的CMakeLists.txt文件.build.rebuild文件 这是多项目结构,目录结构如下: projs: │ build.sh 顶层buil ...

  4. (倍增)LCA学习笔记+做题记录

    LCA学习笔记 LCA指最长公共子序列,可以使用倍增的方法求解(复杂度较优) 步骤 (1) 预处理 a. 求深度: 对于每个结点 \(dfs\) 预处理出结点深度; b. 求倍增祖先: 计算出每个结点 ...

  5. GStreamer开发笔记(三):测试gstreamer/v4l2+sdl2/v4l2+QtOpengl打摄像头延迟和内存

    前言   前面测试了多种技术路线,本篇补全剩下的2种主流技术,v4l2+sdl2(偏底层),v4l2+QtOpengl(应用),v4l2+ffmpeg+QtQImage(Image的方式转图低于1ms ...

  6. GPT-4 即将在 ChatGPT 中退役:技术进化的又一里程碑

    你是否曾好奇人工智能背后的推动力是什么?OpenAI 最近宣布了一项重大更新--从2024年4月30日起,ChatGPT将全面采用全新的AI模型GPT-4o替代现行的GPT-4.这标志着一次重大的技术 ...

  7. net core mvc6使用jwt实现简单的登录

    创建一个新的.NET Core Web应用程序项目.在创建项目时,选择MVC模板. 在项目中添加Microsoft.AspNetCore.Authentication.JwtBearer包: 在Vis ...

  8. 进程间通信-POSIX 共享内存

    POSIX 共享内存 POSIX 共享内存是一种在 Linux 系统上使用的共享内存机制,它允许多个进程可以访问同一个内存区域,从而实现进程间的数据共享.共享内存是可用IPC机制中最快的,使用共享内存 ...

  9. ASP.NET Core 之路由相关

    ASP.NET Core中路由的过程:routing middleware把传入的url与一系列模板进行比对,选择相应的endpoint handler,并将其记录在HttpContext上的requ ...

  10. manim 动画效果总结

    ManimCE作为一个强大的动画制作框架,它为创作者提供了丰富多样的动画效果,无论是文字.图形还是其他元素,都能通过这些动画效果呈现出生动.有趣的视觉体验. 本文将详细总结ManimCE(v0.19. ...