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;
}

CF1195A的更多相关文章

随机推荐

  1. C#常用数据结构

    常碰到的几种数据结构:Array,ArrayList,List,LinkedList,Queue,Stack,Dictionary<K,T>: 1.数组是最简单的数据结构.其具有如下特点: ...

  2. Sublime Text 添加java环境

    jre/bin/ 目录下添加 runJava.bat @ECHO OFF cd %~dp1 ECHO Compiling %~nx1....... IF EXIST %~n1.class ( DEL ...

  3. 【web】Chrome 浏览器中查看 webSocket 连接信息

    1.以下代码实现一个webSocket连接,在文本输入框中输入内容,点击发送,通过服务器,返回相同的内容显示在下方. 1 <!DOCTYPE html> 2 <html lang=& ...

  4. gradient 渐变

    看了大漠 写的关于 Gradient 的文章,我也想写点以便加深记忆. 首先gradient 分为linear-gradient (线性渐变) 和 radial-gradient(径向渐变),渐变是作 ...

  5. stm32 i2c eeprom 24C02

    电路图 相关文章:http://blog.csdn.net/zhangxuechao_/article/details/74936798 举例 #define i2c_scl PBout(10) #d ...

  6. Mount 使用方法

    NAME mount - 挂载文件系统 SYNOPSIS 总览 mount [-lhV] mount -a [-fFnrsvw] [-t vfstype] [-O optlist] mount [-f ...

  7. Ubuntu 手动挂载exfat格式的U盘

    1.默认Ubuntu不支持exFat格式的U盘,先要安装支持: sudo apt-get install exfat-fuse 2.挂载磁盘,我选择挂在mnt下面 a.创建挂载目录:sudo mkdi ...

  8. 持续集成工具FinalBuilder使用心得

    FinalBuilder 使用这款自动化创建和发布管理工具,软件开发者可以定义和维护一个可靠的以及可重复创建的程序.FinalBuilder包括集成的带有版本的控制系统,文件和目录选项,重复器,源代码 ...

  9. JAVA Calendar类获取上个月的第一天和最后一天

    原文:https://www.cnblogs.com/QQParadise/articles/4936313.html 获取上个月第一天的方法: Calendar calendar = Calenda ...

  10. 2018年5月20日--西安icpc邀请赛试题一览

    热身赛 正式赛 A题,样例不代表后台数据,出题人把题意和后台数据代表的意思搞差了! B: C: D-E F f-G G G-H H-I I-J J-k K-2