CF1195A
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的更多相关文章
随机推荐
- C++虚函数【Java有虚函数吗?】
1,简单介绍 定义在基类中的函数,子类必须对其进行覆写![必须对其进行覆写?!]——Java中的接口.Abstract方法中的抽象类也有这样的要求. C++中定义: virtual void deal ...
- datagrid使用和文字超出tip提示
function LoadTable(queryData) { $("#eventInfoTable").datagrid({ ...
- Vue绑定的table页面在Chrome浏览器左右抖动
现象: 今天Chrome浏览器升级到最新版本(75.0.3770.100),突然发现之前vue页面只要绑定了el-table标签的,都在左右抖动,抖动得眼睛都花了,百度上找半天也没有遇到相同问题的人, ...
- Linux磁盘管理——swap分区
转自:Linux Swap交换分区设置 对swap分区的误解 一种流行的.以讹传讹的说法是,安装Linux系统时,交换分区swap的大小应该是内存的两倍.也就是说,如果内存是2G,那么就应该分出4G的 ...
- 【问题】No manual entry for pthread_create in section 3
参考文章:https://blog.csdn.net/wwwlyj123321/article/details/79211184 apt-get install manpages-posix manp ...
- python3 基础三
一.if语句 if condition_1: statement_block_1 elif condition_2: statement_block_2 else: statement_block_3 ...
- Nginx中ngx_http_auth_basic_moudel和ngx_http_stub_status_module模块
ngx_http_auth_basic_module实现基于⽤用户的访问控制,使⽤用basic机制进⾏行行⽤用户认证指令:5.1 auth_basicSyntax: auth_basic string ...
- Task.Run 和 Task.Factory.StartNew 区别
Task.Run 是在 dotnet framework 4.5 之后才可以使用, Task.Factory.StartNew 可以使用比 Task.Run 更多的参数,可以做到更多的定制. 可以认为 ...
- 关于c语言中结构体的初始化
1.先定义结构体类型后再定义结构体变量: 格式为:struct 结构体名 变量名列表: struct book s1,s2,*ss://注意这种之前要先定义结构体类型后再定义变量: 2.在定义结构体类 ...
- Android特定语言 Xtendroid
Xtendroid是一款Android的领域特定语言,它大大降低样板代码,同时提供巨大的工具支持.Xtendroid利用Xtend transpiler实现,它的特点是能够在Java代码编辑或编译期间 ...