2018ICPC青岛赛区J题
题目链接:http://acm.zju.edu.cn/onlinejudge/showRuns.do?contestId=1
这题真的坑,为什么要买0本书的时候,书架里面刚好有价格为0的时候输出“Richman”,难道不应该是“Impossible”吗??你肯定是要从头开始来一遍的,我觉得应该是不可能,,被这个题给卡住了。。。
AC代码;
#include<iostream>
#include<string>
#include<cstring>
#include<iomanip>
#include<cmath>
#include<algorithm>
#include<stdio.h>
#include<queue>
#include<stack>
#include<vector>
using namespace std;
# define inf 0x3f3f3f3f
# define maxn 500000+100
# define ll long long
int a[maxn];
int b[maxn];
ll Min(ll t1,ll t2)
{
return t1>t2?t2:t1;
}
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int n,m;
int num=0;
scanf("%d%d",&n,&m);
for(int i=1; i<=n; i++)
{
scanf("%d",&a[i]);
if(a[i]!=0)b[++num]=a[i];//num代表的是非0的个数,所以n-num就是0的个数
}
if(n-num>m)// 如果说0的个数比要买的书的个数还多,输出impossivle
{
printf("Impossible\n");
continue;
}
if(n==m)//如果买的书的Ŕ个数和书的总数相等,则输出imposible
{
printf("Richman\n");
continue;
}
// if(m==0)//如果买的书的个数为0
// {
// if(minn==0) printf("Impossible\n");//最小值为0,肯定不行
// if(minn>=1) printf("%lld\n",minn-1);//否则输出最小值减去1
// continue;
// }
// }
ll ans=0,temp=inf;
for(int i=1; i<=num; i++)
{
if(i<=m-n+num)ans+=b[i];
else temp=Min(temp,b[i]);
}
printf("%lld\n",ans+temp-1);
}
// ll sum=0;
// m-=num;//这里要找的是非0的数的个数
// int i=1;
// ll temp=inf;
// while(i<=n)
// {
// if(a[i]==0)continue;
// if(m>0)
// {
// sum+=a[i];
// m--;
// }
// else if(m==0)
// temp=Min(temp,a[i]);
// i++;
// }
// // 这个时候m本已经找完了,只需要再找一本买不起的书的价格再减去1就可以了。
// }
return 0;
}
2018ICPC青岛赛区J题的更多相关文章
- [hdu5136]Yue Fei's Battle 2014 亚洲区域赛广州赛区J题(dp)
转载请注明出处: http://www.cnblogs.com/fraud/ ——by fraud 现场赛的时候由于有个地方有点小问题,没有成功AC,导致与金牌失之交臂. 由于今天下 ...
- HDU-4451-Dressing (2012年金华赛区J题)
Dressing Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total S ...
- hdu 4451 37届金华赛区 J题
题意:给出衣服裤子鞋子的数目,有一些衣服和裤子,裤子和鞋子不能搭配,求最终的搭配方案总数 wa点很多,我写wa了很多次,代码能力需要进一步提升 #include<cstdio> #incl ...
- hdu 4462 第37届ACM/ICPC 杭州赛区 J题
题意:有一块n*n的田,田上有一些点可以放置稻草人,再给出一些稻草人,每个稻草人有其覆盖的距离ri,距离为曼哈顿距离,求要覆盖到所有的格子最少需要放置几个稻草人 由于稻草人数量很少,所以状态压缩枚举, ...
- 2017北京赛区J题
类型:三维动态规划 题目链接 题意: 合并连续石头块,最终要合并成一块,求时间最短,每次只能连续合并L~R块石头,不能合并成一块时输出-1 题解: 利用动态规划解决两种分问题 dp[l][r][k]: ...
- 2017Summmer_上海金马五校 F题,G题,I题,K题,J题
以下题目均自己搜 F题 A序列 一开始真的没懂题目什么意思,还以为是要连续的子串,结果发现时序列,简直智障,知道题意之后,好久没搞LIS,有点忘了,复习一波以后,直接双向LIS,处理处两个数组L和R ...
- 牛客寒假基础集训营 | Day1 J题—u's的影响力(水题)
Day1 J题-u's的影响力 有一天,kotori发现了一个和lovelive相似的游戏:bangdream.令她惊讶的是,这个游戏和lovelive居然是同一个公司出的! kotori经过一段时间 ...
- 2019牛客暑期多校训练营(第四场)k题、j题
传送门 k题: 题意: 给你一串由数字构成的字符串,你从这个字符串中找子字符串使这个字符串是300的倍数 题解: 这道题和第三场的B题极其相似 首先可以把是三百的倍数分开,必须要是100和3的倍数 是 ...
- ACM ICPC 2018 青岛赛区 部分金牌题题解(K,L,I,G)
目录: K Airdrop I Soldier Game L Sub-cycle Graph G Repair the Artwork ———————————————————— ps:楼主脑残有点严 ...
随机推荐
- HTML标签参考手册
按字母顺序排列 New : HTML5 中的新标签. 标签 描述 <!--...--> 定义注释. <!DOCTYPE> 定义文档类型. <a> 定义锚. < ...
- HotSpot垃圾收集器GC的种类
堆内存的结构:
- API接口测试中需要注意的地方
1.检查接口返回的数据是否与预期结果一致. 2.检查接口的容错性,假如传递数据的类型错误时是否可以处理.例如是支持整数,传递的是小数或字符串呢? 3.接口参数的边界值.例如,传递的参数足够大或为负数时 ...
- Little Elephant and Array CodeForces - 220B(莫队)
给一段长为n的序列和m个关于区间的询问,求出每个询问的区间中有多少种数字是 该种数字出现的次数等于该数字 的. #include <iostream> #include <cstdi ...
- BZOJ 1010 [HNOI2008]toy 玩具装箱
2017.6.9:经过我的不懈努力,终于把此题A掉了,但上凸和下凸总是那么让人费解…… P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压缩,其可以将任意 ...
- MVC使用jQuery从视图向控制器传递Model的2种方法
http://blog.csdn.net/make1828/article/details/29846003 using System.ComponentModel.DataAnnotations; ...
- Dubbo、Zookeeper集群搭建及Rose使用心得(一)
接触这个两三月了,是时候总结一下使用的方法以及心得体会了.我是一个菜鸟,下面写的如有错误,还请各位前辈指出.废话不多说,正式开始. 一.简介 Dubbo是Alibaba开源的分布式服务框架,它最大的特 ...
- lumen 使用 dingo API 在 phpunit 中 404 的解决方法, 以及鉴权问题
1. phpunit.xml 中添加 dingo 相关配置 <env name="API_STANDARDS_TREE" value="x"/> & ...
- 解决Pytohn安装第三方库出现read timed out 问题
输入pip --default-timeout=100 install -U Packages 如pip --default-timeout=100 install -U Pillow
- python基础-异常(exception)处理
python基础-异常(exception)处理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 程序中难免出现错误,而错误分成两种,即语法错误和逻辑错误.语法错误根本过不了pyth ...