名侦探柯南
来源:互联网 发布:雅思背单词软件 编辑:程序博客网 时间:2024/04/19 10:31
柯南又遇到了一个棘手的案子:一个贵族的家里被盗。这个贵族的家里非常有钱,但这家主人的习惯很怪异,他将所有的金银珠宝都磨成粉装到几个分开的袋子里。由于之前并没有记录,所以主人并不知道这次被盗自己损失了多少钱。几天后,盗窃犯被抓住,但是他身上仅有一个盗窃时用的包,盗窃走的财产早已经挥霍一空。很显然,盗窃犯一定会使自己偷走的东西的总价值最大,柯南虽然断案如神,但是他却无法计算出盗窃犯到底盗走了价值多少钱的东西。你能帮帮柯南吗?
- 输入:
每组测试数据可能有多组输入,对于每一组输入,
输入的第一行包括两个整数N(1<=N<=100000),代表主人所拥有的被磨成粉的珠宝的种类数。以及C(1<=C<=10000000),代表盗窃犯盗窃时所用的包的容量。
接下来的N行,每行包括两个数W(1<=W<=10000000) 以及V(1<=V<=10000000),分别代表一类珠宝粉的总重量,以及这类珠宝粉的总价值。
- 输出:
输出盗窃犯所盗走物品的总价值。
- 样例输入:
2 10
4 12
8 16
- 样例输出:
24
- 提示:
- 若最后得到的被盗物品的总价值不是整数,请你将答案四舍五入后输出。
#include <stdio.h>#include <stdlib.h>#include <math.h>#include <string.h>#include <algorithm>#include <iostream>using namespace std;const int MAX=100010;typedef struct Node{double w;double v;};struct Node jewelry[MAX];bool cmp(Node a,Node b){double v_unit_a=a.v/a.w;double v_unit_b=b.v/b.w;return (v_unit_a>v_unit_b);}int main(){int n;double c;double total_value;while((scanf("%d%lf",&n,&c))!=EOF){int i;total_value=0;for(i=0;i<n;i++)scanf("%lf%lf",&jewelry[i].w,&jewelry[i].v);sort(jewelry,jewelry+n,cmp);for(i=0;i<n;i++){if(jewelry[i].w<c){c=c-jewelry[i].w;total_value+=jewelry[i].v;}else{total_value=total_value+(int)(((1.0*c*jewelry[i].v)/jewelry[i].w)+0.5);break;}}printf("%.0lf\n",total_value);}return 0;}
- 名侦探柯南
- 名侦探柯南
- 名侦探柯南
- 名侦探柯南
- 名侦探柯南
- 名侦探柯南
- 名侦探柯南 侦探们的镇魂歌
- 名侦探柯南(贪心问题)
- 名侦探柯南主线剧情
- 九度题目1399:名侦探柯南
- 名侦探柯南--最完全的资料(转)
- 网上流传的《名侦探柯南》大结局十二种!
- 山东理工大学第八届ACM校赛——名侦探柯南
- 【小作品】名侦探柯南剧场版介绍网页(原生javascript html5 css)
- 名侦探的规条
- 江户侦探名话-文魂
- 致侦探!
- 侦探推理
- Lesson6: 菜单编程
- AIX查看硬件配置的若干命令
- 精确计算
- y4m文件转换成yuv
- Lesson7: 对话框编程
- 名侦探柯南
- Lesson9: 定制应用程序的外观
- GreenHopper 5.9概览
- Lesson10: 绘图控制
- Lesson11 图形的保存和重绘
- 杭电 2844 多重背包(0-1背包二进制处理)
- VS2010平台下,opencl及cuda
- Lesson12 文件操作
- DB2常用语句集萃