E. Boxers

给定N个数字,每个数字可以加一或者减一

使得结果集合中不同数字个数最多

贪心

用桶装数

假如相同的数字$i$超过三个,则上面$i+1$,下面$i-1$都可以分一个

如果相同数字$i$只有两个,优先$i-1$

如果只有一个也要优先$i-1$

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define sc(x) scanf("%I64d",&x);
#define read(A) for(int i=0;i<4*N;i++) scanf("%I64d",&A[i]);
#define P pair<ll,ll>
ll N;
ll q;
ll A[];
bool B[];
int main()
{
sc(N);
for(int i=; i<N; i++)
{
sc(q);
A[q]++;
}
for(int i=; i<=; i++)
{
if(A[i]>=)
{
if(i>)
{
// A[i-1]++;
B[i-]=;
}
B[i]=;
B[i+]=;
}
else if(A[i]==)
{
if(i>&&B[i-]==)
{
B[i-]=;
}
else if(B[i+]==)
{
B[i+]=;
}
B[i]=;
}
else if(A[i]==)
{
//cout<<i<<B[i]<<endl;
if(i>&&B[i-]==)B[i-]=;
else if(B[i]==)B[i+]=;
else B[i]=;
}
}
int ans=;
for(int i=; i<=; i++)
{
if(B[i]){ans++;//cout<<i<<endl;
} }
cout<<ans<<'\n';
}

E. Boxers的更多相关文章

  1. CF #579 (Div. 3) E.Boxers

    E.Boxers time limit per test2 seconds memory limit per test256 megabytes inputstdin outputstdout The ...

  2. Codeforces Round #579 (Div. 3) E. Boxers (贪心)

    题意:给你一组数,每个数都可以进行一次加一减一,问最后最多能有多少不同的数. 题解:我们可以用桶存每个数的次数,然后枚举\([1,150001]\)来求对答案的贡献,然后贪心,这里我们不用担心其他乱七 ...

  3. bootstrap-validator使用

    bootstrap-validator是一款与bootstrap相结合的表单前端验证模块,官方网址:http://1000hz.github.io/bootstrap-validator/ 下面内容大 ...

  4. 1.1 NCE21 Daniel Mendoza

    1.text translation Two hundred years ago, boxing matches were very popular in England. At that time/ ...

  5. NCE3

    Lesson1  A puma at large Pumas are large, cat-like animals which are found in America. When reports ...

  6. New Concept English three(21)

    27W 59 Boxing matches were very popular in England two hundred years ago. In those days, boxers foug ...

  7. lesson 21 Daniel Mendoza

    lesson 21 Daniel Mendoza bare 赤裸的 :boxers fought with bare fists crude 天然的:crude sugar, crude oil 粗俗 ...

  8. codeforces #579(div3)

    codeforces #579(div3) A. Circle of Students 题意: 给定一个n个学生的编号,学生编号1~n,如果他们能够在不改变顺序的情况下按编号(无论是正序还是逆序,但不 ...

  9. Codeforces Round #579 (Div. 3)

    Codeforces Round #579 (Div. 3) 传送门 A. Circle of Students 这题我是直接把正序.逆序的两种放在数组里面直接判断. Code #include &l ...

随机推荐

  1. Dapper基本使用

    http://www.cnblogs.com/Sinte-Beuve/p/4231053.html

  2. [Python3] 001 "Hello World" 与注释

    目录 1. 致敬 1.1 致敬 "Hello World" 1.2 致敬 Python 之父 Guido van Rossum 2. 注释 2.1 单行注释 2.2 多行注释 3. ...

  3. 6-2 如何读写json数据

    通过查看help(json.dump)和help(json.dumps)帮助信息,dump是将转换格式到文件对象,而dumps转换格式到字符串. 一.Json.dumps() Json.dumps() ...

  4. 计算机系统结构总结_Memory Hierarchy and Memory Performance

    Textbook: <计算机组成与设计——硬件/软件接口>  HI <计算机体系结构——量化研究方法>       QR 这是youtube上一个非常好的memory syst ...

  5. go & flag

    参考 Golang下的flag模块使用 Go基础篇[第6篇]: 内置库模块 flag

  6. sass和less的对比

    );  <  { ;  {   {     ; } ); } ); } );  // if 条件  @dr: if(@my-option = true, {     button {       ...

  7. SpringBoot项目优化和Jvm调优

    https://www.cnblogs.com/jpfss/p/9753215.html 项目调优 作为一名工程师,项目调优这事,是必须得熟练掌握的事情. 在SpringBoot项目中,调优主要通过配 ...

  8. PAT Basic 1026 程序运行时间 (15 分)

    要获得一个 C 语言程序的运行时间,常用的方法是调用头文件 time.h,其中提供了 clock() 函数,可以捕捉从程序开始运行到 clock() 被调用时所耗费的时间.这个时间单位是 clock ...

  9. ubuntu(linux)如何安装nginx?

    之前要在linux下面安装nginx,弄了半天,终于搞定了,下面给大家详细一下安装流程及安装报错解决方案: 安装共分为5步搞定: 1.进入src目录(下载存放目录)      cd /usr/loca ...

  10. Maven项目的一些依赖

    Maven构建的Spring项目需要哪些依赖? <!-- Spring依赖 --> <!-- 1.Spring核心依赖 --> <dependency> <g ...