CF1195A

题意:

输入n和k,n是学生的数量,k是饮料种类,接下来的n行会输入每个学生想要的饮料的编号,分配饮料是按一对一对分,每一对都是类型相同的饮料。输出能得到自己想要饮料的最大学生数量

解法:

如果两个学生喝同样的饮料,那就让我们一起喝一杯。 让这些学生的数量(我们可以成对满足)是好的。 因为套数是 $ \frac{n}{2} $ ,我们总能做到。 因此,有些学生可以选择他们想要的饮料。 很明显,如果我们采取一套,我们最多可以满足一个学生(其中一个将不会获得他最喜欢的饮料)。 让这些学生的数量(在满足学生对之后仍然存在)是坏的。 然后答案是好的 $ + \frac{bad}{2} $。

CODE:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm> using namespace std; #define LL long long
#define N 100010 int s[N],n,k,ans,x; int main() {
scanf("%d%d",&n,&k);
for(int i = 1 ; i <= n ; i++) {
scanf("%d",&x);
s[x]++;
}
for(int i = 1 ; i <= k ; i++) ans += s[i] & 1;
printf("%d",n - ans / 2);
//system("pause");
return 0;
}

最新文章

  1. android lsitview setOnItemLongClickListener 无效或不执行
  2. OpenCV中的全景拼接例程
  3. 关于mysql的错误 - no query specified
  4. C语言 约瑟夫圈问题:N个人围成一圈,从第一个人开始按顺序报数并编号1,2,3,……N,然后开始从第一个人转圈报数,凡是报到3的退出圈子。则剩下的最后一个人编号是多少。
  5. Android 第三方应用接入微信平台(2)
  6. 选择语句----switch case
  7. HTML5学习笔记(一):HTML简介
  8. 【Java】java数据库连接池配置的几种方法
  9. Unity NGUI实现Tabview
  10. Wikioi 1080一维树状数组
  11. 如何开发由Create-React-App 引导的应用(三)
  12. 3D Math Keynote 3
  13. 背水一战 Windows 10 (96) - 选取器: ContactPicker
  14. ubuntu中vim下按上下左右键时输入A、B、C、D
  15. oracle补齐日期
  16. Linux 设置定时任务 清空日志
  17. PHP 修改目录下所有与文件夹重名的前缀文件为index.后缀
  18. 【这特么是个坑。。。】iOS 10.3下解决Charles抓包ssl证书信任问题
  19. gdbt与adboost(或者说boosting)区别
  20. 未能加载文件或程序集“log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821”或它的某一个依赖项。系统找不到指定的文件。

热门文章

  1. Https请求被中止: 未能创建 SSL/TLS 安全通道
  2. Quartz任务调度:MisFire策略和源码分析
  3. python实现暴力破解
  4. pytorch中使用多显卡训练以及训练时报错:expect more than 1 value per channel when training, got input size..
  5. React/react相关小结
  6. linux命令启动关闭firewalld防火墙,添加端口
  7. 【Day5】3.反爬策略之模拟登录
  8. golang使用sftp连接服务器远程上传、下载文件
  9. RT-Thread--内核基础
  10. Codeforces 1179 D - Fedor Runs for President