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:楼主脑残有点严 ...
随机推荐
- Java 使用 DBCP mysql 连接池 做数据库操作
需要的jar包有 commons-dbutils , commons-dbcp , commons-pool , mysql-connector-java 本地database.propertties ...
- es6 很简单
es6出了许多好的,优秀的特性.下面列举一些常用的 其实这些特性都很好理解,一两句话就可以表达出来看.主要是对旧的写法的一种改进. function 加了一些语言糖,传参更方便 class ...
- macOS & SVN
macOS & SVN mac 下已经自带了svn环境; 使用 svn –version 查看版本号 安装方法: 已安装 XCode,只需要在 code > Preferences &g ...
- JAVAScript对象及初始面向对象
javaScript对象及初始面向对象 1:内置对象 例:Date String Array 类等... 2:自定义对象 方法1:var newObj=new Object(); ...
- [AT697]フィボナッチ
题目大意:给你$n,k(n\leqslant10^9,k\leqslant10^3)$,求$f_n$.$f$数组满足$f_1=f_2=\cdots=f_k=1$,$f_n=\sum\limits_{i ...
- RocketMQ生产者消息篇
系列文章 RocketMQ入门篇 RocketMQ生产者流程篇 RocketMQ生产者消息篇 前言 上文RocketMQ生产者流程篇中详细介绍了生产者发送消息的流程,本文将重点介绍发送消息的通信模式以 ...
- JS的异步
1.异步 程序中现在运行的部分和将来运行的部分之间的关系是异步编程的核心. 多数JavaScript开发者从来没有认真思考过自己程序中的异步到底是如何出现的,以及为什么会出现,也没有探索过处理异步的其 ...
- Android Studio导入ApiDemos
安卓开发入门篇(一):Android Studio导入ApiDemoshttp://blog.csdn.net/dreamer2020/article/details/52316895 https:/ ...
- Activity的setResult方法
Activity的setResult方法http://blog.csdn.net/dinglin_87/article/details/8970144 调用setResult()方法必须在finish ...
- bzoj 1856: [Scoi2010]字符串 卡特兰数
1856: [Scoi2010]字符串 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 1458 Solved: 814[Submit][Status][ ...