<JZOJ5937&luogu3944>斩杀计划&肮脏的牧师
2024-09-07 06:07:55
第一次写桶排相关题....
#include<cstdio>
#include<iostream>
#define rint register int
template <class T> inline void read(T &X)
{
X=;int W=;char ch=;
while(!isdigit(ch))W|=ch=='-',ch=getchar();
while(isdigit(ch))X=(X<<)+(X<<)+(ch^),ch=getchar();
X=W?-X:X;return;
}
int n,m,a[],cnt[],ans=,cnt1=,cnt2=,cnt3=,num=-;
int main()
{
freopen("zhanshajihua.in","r",stdin);
freopen("zhanshajihua.out","w",stdout);
read(n),read(m);
for(rint i=;i<=n;++i)read(a[i]),cnt[a[i]]++;
for(rint i=;i<=-;i+=)
{
ans+=cnt[i];cnt1+=cnt[i];
ans+=cnt[i+]*;cnt2+=cnt[i+];
ans+=cnt[i+]*;cnt3+=cnt[i+];
++num;
if(ans>=m)break;
}
while(ans>=m+ && cnt3){ans-=;--cnt3;}
while(ans>=m+ && cnt1){--ans;--cnt1;}
while(ans>=m+ && cnt2){ans-=;--cnt2;}
if(ans>=m)printf("%d %d\n",num,(cnt1+cnt2)+cnt3*+num);
else printf("-1\n");//luogu “Human Cannot Win Dog”
return ;
}
最新文章
- android 事件分发机制详解(OnTouchListener,OnClick)
- javascript基础02
- 2016年11月17日 星期四 --出埃及记 Exodus 20:8
- 分布式发布订阅消息系统 Kafka 架构设计
- [原创]javascript prototype 对象 函数 <;精简的美丽......>;
- UFLDL教程(四)之Softmax回归
- Ext js Grid
- 利用canvas 导出图片
- 2017-11-15 软件包 java.io学习
- 【树形dp】Bzoj3391 [Usaco2004 Dec]Tree Cutting网络破坏
- Jenkins持续集成实践之java项目自动化部署
- java知识随笔
- GitHubPopular运行记录
- 获取汉字拼音&;首字母
- ADSL理解
- Java第08次实验提纲(多线程)
- hadoop学习笔记(三):hdfs体系结构和读写流程(转)
- [转]SSH 原理和基本使用:ssh 安全配置 以及ssh key 认证登录
- bat 变量作用域
- Bing词典vs有道词典比对测试报告——功能篇之辅助功能,差异化功能及软件的效能