P1964 【mc生存】卖东西

题解

很简单,

暴力

注意一个小点就好

代码

  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cstdlib>
  4. #include<algorithm>
  5. #include<cmath>
  6. #include<string>
  7. #include<cstring>
  8. #include<queue>
  9.  
  10. using namespace std;
  11.  
  12. typedef long long ll;
  13.  
  14. inline int read()
  15. {
  16. int ans=;
  17. char last=' ',ch=getchar();
  18. while(ch<''||ch>'') last=ch,ch=getchar();
  19. while(ch>=''&&ch<='') ans=ans*+ch-'',ch=getchar();
  20. if(last=='-') ans=-ans;
  21. return ans;
  22. }
  23.  
  24. int m,n;
  25. struct node{
  26. int num,w,v;
  27. string nam;
  28. }obj[],yy[];
  29. int p[],tot=,yy_tot=;
  30.  
  31. bool cmp1(node x,node y)
  32. {
  33. if(x.nam ==y.nam ){
  34. return x.num >y.num ;
  35. }else return x.nam <y.nam ;
  36. }
  37.  
  38. int main()
  39. {
  40. m=read();n=read();
  41. for(int i=;i<=n;i++){
  42. obj[i].num =read();
  43. obj[i].w =read();
  44. obj[i].v =read();
  45. cin>>obj[i].nam ;
  46. }
  47.  
  48. sort(obj+,obj+n+,cmp1);
  49.  
  50. for(int i=;i<=n;i++){
  51. if(obj[i].nam !=obj[i-].nam ){
  52. if(yy[yy_tot].num >){
  53. p[++tot]=yy[yy_tot].num *yy[yy_tot].w ;
  54. yy[yy_tot].num-=yy[yy_tot].num;
  55. }
  56. yy_tot++;
  57. yy[yy_tot].num =obj[i].num ;
  58. yy[yy_tot].v =obj[i].v ;
  59. yy[yy_tot].w =obj[i].w ;
  60. }else{
  61. yy[yy_tot].num +=obj[i].num ;
  62. }
  63.  
  64. if(yy[yy_tot].num >=yy[yy_tot].v ){
  65. p[++tot]=yy[yy_tot].v*yy[yy_tot].w ;
  66. yy[yy_tot].num-=yy[yy_tot].v;
  67. }
  68.  
  69. }
  70. if(yy[yy_tot].num >)
  71. p[++tot]=yy[yy_tot].num *yy[yy_tot].w ;
  72. sort(p+,p++tot);
  73. int ans=;
  74. for(int i=tot;i>=tot-(-m)+;i--){
  75. if(i<=) break;
  76. ans+=p[i];
  77. }
  78. printf("%d\n",ans);
  79.  
  80. return ;
  81. }

P1964 【mc生存】卖东西的更多相关文章

  1. 洛谷 P1964 【mc生存】卖东西

    P1964 [mc生存]卖东西 题目背景 服务器好好玩 题目描述 lcy0x1去服务器的系统商店卖东西. 一个人的背包有21格. 一开始他的背包里有m件不同的物品(不能卖). 他要卖n种物品,每种物品 ...

  2. 洛谷 P1789 【Mc生存】插火把 题解

    P1789 [Mc生存]插火把 题目背景 初一党应该都知道...... 题目描述 话说有一天 linyorson 在"我的世界"开了一个 \(n\times n(n\le 100) ...

  3. 洛谷 P1964 【mc生存】卖东西(多重背包)

    题目传送门 解题思路: 题目里有,多重背包. AC代码: #include<iostream> #include<cstdio> #include<map> usi ...

  4. P1789 【Mc生存】插火把

    题目背景 初一党应该都知道...... 题目描述 话说有一天linyorson在Mc开了一个超平坦世界,他把这个世界看成一个n*n的方阵,现在他有m个火把和k个萤石,分别放在x1,y1...xm,ym ...

  5. 水题,P1789 【Mc生存】插火把 (暴力即可)

    #include<cstdio> #define maxn int(1e4) bool dp[maxn][maxn]; int n; void f1(int x, int y) { dp[ ...

  6. 洛谷P1789【Mc生存】插火把 题解

    题目传送门 这道题目可以纯暴力: #include<bits/stdc++.h> //Minecraft 666 using namespace std; ][]; int n,m,k,a ...

  7. 新买苹果电脑,mac系统中小白应该了解哪些东西?

    本文旨在分享新买了mac电脑,应该做哪些设置,帮助苹果电脑小白轻松上手使用mac电脑,当然,新电脑肯定是需要安装各种软件,这里,小编推荐一下可以看看小编写的mac软件装机必备Mac 装机必备软件推荐, ...

  8. 连载《一个程序猿的生命周期》-《发展篇》 - 3.农民与软件工程师,农业与IT业

    相关文章:随笔<一个程序猿的生命周期>- 逆潮流而动的“叛逆者”        15年前,依稀记得走出大山,进城求学的场景.尽管一路有父亲的陪伴,但是内心仍然畏惧.当父亲转身离去.准备回到 ...

  9. 认识WCF

    WCF 一.什么是WCF? 1.Windows Communication Foundation(WCF)是由微软发展的一组数据通信的应用程序开发接口,可以翻译为Windows通讯接口.它是.NET框 ...

随机推荐

  1. 异常-Caused by: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlException): Permission denied: user=hdfs, access=WRITE, inode="/hbase":root:supergroup:drwxr-xr-x

    1 详细异常 Caused by: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlExce ...

  2. Formal Analysis of the TLS Handshake Protocol -----论文整理

    1.关键词  TLS.SSL.Formal Analsysis  Conridentiality  Secerecy 2.Table  THE SSL/TLS handshake Protocol 3 ...

  3. Castle Windsor Ioc 一个接口多个实现解决方案

    介绍 Castle Windsor 是微软的Ioc类库,本文主要介绍解决一个接口多个实现的解决方案 接口和类 以下内容不是真实的实际场景,仅仅是提供解决一个接口多个实现的思路. 业务场景类 先假设有一 ...

  4. 牛客练习赛48 C 小w的糖果 (数学,多项式,差分)

    牛客练习赛48 C 小w的糖果 (数学,多项式) 链接:https://ac.nowcoder.com/acm/contest/923/C来源:牛客网 题目描述 小w和他的两位队友teito.toki ...

  5. 七、Linq To XML:XElement、XDocument

    一.概述 LINQ to XMLLINQ to XML 是一种启用了 LINQ 的内存 XML 编程接口,使用它,可以在 .NET Framework.NET Framework 编程语言中处理 XM ...

  6. redis--基于内存的高速缓存,NoSql的典型代表

    NoSql入门和概述 入门概述 为什么要使用NoSql? 1.单机mysql的美好年代 在早些年以前,那时候网站的访问量不大,用单个数据库完全可以应付.而且那个时候,绝大部分都是LAMP架构:Linu ...

  7. c++ 智能指针的使用

    https://www.cnblogs.com/TenosDoIt/p/3456704.html #include <QCoreApplication> #include <stri ...

  8. 智能灯控(基于ZigBee)

    时间:2017年12月 阶段:大二上学期 背景:单片机原理与应用课设 名称:智能灯控 摘要 本系统实现了多方式控灯功能,有按键控灯.串口指令控灯.点对点无线射频控灯.AI模式控灯.其中AI模式控灯是通 ...

  9. 006_软件安装之_Proteus 8.6 SP2 Professional

    安装好像已经是直接破解的版本了 链接:https://pan.baidu.com/s/1NQDFJeJwmzoMIPZWhWNtFA提取码:ql8g 复制这段内容后打开百度网盘手机App,操作更方便哦

  10. learning scala Function Recursive Tail Call

    可以使用scala库,可以从字面上看出是在调用 递归函数: code import scala.util.control.TailCalls._ val arrayDonuts: Array[Stri ...