P1964 【mc生存】卖东西
P1964 【mc生存】卖东西
题解
很简单,
暴力
注意一个小点就好
代码
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<algorithm>
#include<cmath>
#include<string>
#include<cstring>
#include<queue> using namespace std; typedef long long ll; inline int read()
{
int ans=;
char last=' ',ch=getchar();
while(ch<''||ch>'') last=ch,ch=getchar();
while(ch>=''&&ch<='') ans=ans*+ch-'',ch=getchar();
if(last=='-') ans=-ans;
return ans;
} int m,n;
struct node{
int num,w,v;
string nam;
}obj[],yy[];
int p[],tot=,yy_tot=; bool cmp1(node x,node y)
{
if(x.nam ==y.nam ){
return x.num >y.num ;
}else return x.nam <y.nam ;
} int main()
{
m=read();n=read();
for(int i=;i<=n;i++){
obj[i].num =read();
obj[i].w =read();
obj[i].v =read();
cin>>obj[i].nam ;
} sort(obj+,obj+n+,cmp1); for(int i=;i<=n;i++){
if(obj[i].nam !=obj[i-].nam ){
if(yy[yy_tot].num >){
p[++tot]=yy[yy_tot].num *yy[yy_tot].w ;
yy[yy_tot].num-=yy[yy_tot].num;
}
yy_tot++;
yy[yy_tot].num =obj[i].num ;
yy[yy_tot].v =obj[i].v ;
yy[yy_tot].w =obj[i].w ;
}else{
yy[yy_tot].num +=obj[i].num ;
} if(yy[yy_tot].num >=yy[yy_tot].v ){
p[++tot]=yy[yy_tot].v*yy[yy_tot].w ;
yy[yy_tot].num-=yy[yy_tot].v;
} }
if(yy[yy_tot].num >)
p[++tot]=yy[yy_tot].num *yy[yy_tot].w ;
sort(p+,p++tot);
int ans=;
for(int i=tot;i>=tot-(-m)+;i--){
if(i<=) break;
ans+=p[i];
}
printf("%d\n",ans); return ;
}
P1964 【mc生存】卖东西的更多相关文章
- 洛谷 P1964 【mc生存】卖东西
P1964 [mc生存]卖东西 题目背景 服务器好好玩 题目描述 lcy0x1去服务器的系统商店卖东西. 一个人的背包有21格. 一开始他的背包里有m件不同的物品(不能卖). 他要卖n种物品,每种物品 ...
- 洛谷 P1789 【Mc生存】插火把 题解
P1789 [Mc生存]插火把 题目背景 初一党应该都知道...... 题目描述 话说有一天 linyorson 在"我的世界"开了一个 \(n\times n(n\le 100) ...
- 洛谷 P1964 【mc生存】卖东西(多重背包)
题目传送门 解题思路: 题目里有,多重背包. AC代码: #include<iostream> #include<cstdio> #include<map> usi ...
- P1789 【Mc生存】插火把
题目背景 初一党应该都知道...... 题目描述 话说有一天linyorson在Mc开了一个超平坦世界,他把这个世界看成一个n*n的方阵,现在他有m个火把和k个萤石,分别放在x1,y1...xm,ym ...
- 水题,P1789 【Mc生存】插火把 (暴力即可)
#include<cstdio> #define maxn int(1e4) bool dp[maxn][maxn]; int n; void f1(int x, int y) { dp[ ...
- 洛谷P1789【Mc生存】插火把 题解
题目传送门 这道题目可以纯暴力: #include<bits/stdc++.h> //Minecraft 666 using namespace std; ][]; int n,m,k,a ...
- 新买苹果电脑,mac系统中小白应该了解哪些东西?
本文旨在分享新买了mac电脑,应该做哪些设置,帮助苹果电脑小白轻松上手使用mac电脑,当然,新电脑肯定是需要安装各种软件,这里,小编推荐一下可以看看小编写的mac软件装机必备Mac 装机必备软件推荐, ...
- 连载《一个程序猿的生命周期》-《发展篇》 - 3.农民与软件工程师,农业与IT业
相关文章:随笔<一个程序猿的生命周期>- 逆潮流而动的“叛逆者” 15年前,依稀记得走出大山,进城求学的场景.尽管一路有父亲的陪伴,但是内心仍然畏惧.当父亲转身离去.准备回到 ...
- 认识WCF
WCF 一.什么是WCF? 1.Windows Communication Foundation(WCF)是由微软发展的一组数据通信的应用程序开发接口,可以翻译为Windows通讯接口.它是.NET框 ...
随机推荐
- prometheus监控(小试牛刀)
prometheus监控(小试牛刀) 环境:全部服务都是基于docker运行 本文略微草率,好文章在这里,特别好如下: https://www.cnblogs.com/tchua/p/11120228 ...
- Pyspark:AssertionError: dataType should be DataType
1. schema参数,AssertionError: dataType should be DataType # AssertionError: dataType should be DataTyp ...
- Bootstrap 基本模板
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8& ...
- Codeforces #367 (Div. 2) D. Vasiliy's Multiset (trie 树)
http://codeforces.com/group/1EzrFFyOc0/contest/706/problem/D 题目:就是有3种操作 + x向集合里添加 x - x 删除x元素,(保证存在 ...
- JDK源码那些事儿之SynchronousQueue上篇
今天继续来讲解阻塞队列,一个比较特殊的阻塞队列SynchronousQueue,通过Executors框架提供的线程池cachedThreadPool中我们可以看到其被使用作为可缓存线程池的队列实现, ...
- Jenkins 参数化构建(Extended Choice Parameter)
1.下载安装 Extended Choice Parameter 插件 2.打开job--->General--->参数化构建过程--->Extended Choice Parame ...
- MySQL之两张表关系查找例子
teacher表 mysql> select * from teacher; +-----+--------+-----+---------+----------+ | tid | tname ...
- Mysql 安装,及其闪退的问题解决
1.下载 Mysql 64下载链接(华军软件) http://soft.onlinedown.net/soft/3573.htm 2.安装 2.1 傻瓜式安装 不再赘述,略过. 2.2安装完成打开闪退 ...
- .NET Core初览
.NET Core 初览的应用场景为游戏服务器开发.所以测试在侧重点上更强于IO和密集型计算 网络IO: NetCore:60%CPU QPS 56W C++:31%CPU QPS 58W C++:6 ...
- pycharm连接不上mysql数据库的解决办法
问题描述 环境:ubuntu18.04,mysql5.7 今天在ubuntu下使用pycharm连接mysql,发现连接不上 这不是缺少驱动吗?下载之! 下好之后点进去 连接 点击test conne ...