2017ACM/ICPC广西邀请赛 1007 Duizi and Shunzi
Duizi and Shunzi
Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total
Submission(s): 0 Accepted Submission(s): 0
it.
Now give you n integers, ai
(1≤i≤n)
We define two identical numbers (eg: 2,2
) a Duizi,
and three consecutive positive integers (eg: 2,3,4
) a Shunzi.
Now you want to use these integers to form Shunzi and Duizi
as many as possible.
Let s be the total number of the Shunzi and the
Duizi you formed.
Try to calculate max(s)
.
Each number can be used only once.
For each
test case, the first line contains one integer n(1≤n≤106
).
Then the next line contains n space-separated integers ai
(1≤ai
≤n
)
line.
1 2 3 4 5 6 7
9
1 1 1 2 2 2 3 3 3
6
2 2 3 3 3 3
6
1 2 3 3 4 5
4
3
2
Case 1(1,2,3)(4,5,6)
Case 2(1,2,3)(1,1)(2,2)(3,3)
Case 3(2,2)(3,3)(3,3)
Case 4(1,2,3)(3,4,5)
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <algorithm>
#include <cstring>
#include <math.h>
using namespace std;
int b[];
//int qyh[10010],hyh[10010];
int main()
{
int a,n;
while(~scanf("%d",&n))
{
for(int i=; i<; ++i)
{
b[i]=;
}
for(int i=; i<n; ++i)
{
scanf("%d",&a);
b[a]++;
}
int dp=;
int ans=;
for(int i=; i<=n; ++i)
{
if(b[i]==)
{
dp=;
continue;
}
if(dp==)
{
ans+=;
ans+=(b[i]-)/;
dp=(b[i]-)%;
}
else if(dp==)
{
if(b[i]%==)
{
dp++;
ans+=b[i]/;
}
else
{
dp=;
ans+=b[i]/;
}
}
else if(dp==)
{
if(b[i]%==)
{
dp++;
ans+=b[i]/;
}
else
{
dp=;
ans+=b[i]/;
}
}
}
printf("%d\n",ans);
}
return ;
}
2017ACM/ICPC广西邀请赛 1007 Duizi and Shunzi的更多相关文章
- 2017ACM/ICPC广西邀请赛-重现赛
HDU 6188 Duizi and Shunzi 链接:http://acm.hdu.edu.cn/showproblem.php?pid=6188 思路: 签到题,以前写的. 实现代码: #inc ...
- 2017ACM/ICPC广西邀请赛
A.A Math Problem #include <bits/stdc++.h> using namespace std; typedef long long ll; inline ll ...
- 2017ACM/ICPC广西邀请赛-重现赛(感谢广西大学)
上一场CF打到心态爆炸,这几天也没啥想干的 A Math Problem Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/3 ...
- 2017ACM/ICPC广西邀请赛-重现赛 1007.Duizi and Shunzi
Problem Description Nike likes playing cards and makes a problem of it. Now give you n integers, ai( ...
- 2017ACM/ICPC广西邀请赛 Duizi and Shunzi
题意:就是一个集合分开,有两种区分 对子:两个相同数字,顺子:连续三个不同数字,问最多分多少个 解法:贪心,如果当前数字不构成顺子就取对子 /2,如果可以取顺子,那么先取顺子再取对子 #include ...
- 2017ACM/ICPC广西邀请赛-重现赛 1010.Query on A Tree
Problem Description Monkey A lives on a tree, he always plays on this tree. One day, monkey A learne ...
- 2017ACM/ICPC广西邀请赛-重现赛 1004.Covering
Problem Description Bob's school has a big playground, boys and girls always play games here after s ...
- HDU 6191 2017ACM/ICPC广西邀请赛 J Query on A Tree 可持久化01字典树+dfs序
题意 给一颗\(n\)个节点的带点权的树,以\(1\)为根节点,\(q\)次询问,每次询问给出2个数\(u\),\(x\),求\(u\)的子树中的点上的值与\(x\)异或的值最大为多少 分析 先dfs ...
- 2017ACM/ICPC广西邀请赛-重现赛 1001 A Math Problem
2017-08-31 16:48:00 writer:pprp 这个题比较容易,我用的是快速幂 写了一次就过了 题目如下: A Math Problem Time Limit: 2000/1000 M ...
随机推荐
- 编程小白入门分享四:Vue的安装及使用快速入门
一.VUE简介 vue是一个JavaMVVM库,是一套用于构建用户界面的渐进式框架,是初创项目的首选前端框架.它是以数据驱动和组件化的思想构建的,采用自底向上增量开发的设计.它是轻量级的,它有很多独立 ...
- DT6.0关于SQL注入漏洞修复问题
阿里云安全平台提示:Destoon SQL注入,关于: Destoon的/mobile/guestbook.php中$do->add($post);这行代码对参数$post未进行正确转义,导致黑 ...
- 【Selenium-WebDriver实战篇】基于java的selenium之验证码识别内容
==================================================================================================== ...
- C++中指针形参问题
1.C++指针做形参,会有很多陷阱,很多时候也许并不如我们想的那样.比如我们想通过一个函数改变指针的值: #include<</SPAN>iostream> using nam ...
- mssql提权
MSSQL的提权:下面是三种方法一种利用xp_cmshell组件,还有一种sp_OACreate组件,COM组件 xp_cmshell组件的开启: 1.sql2005版本以后默认为关闭状态,需要开启命 ...
- 【JZOJ6217】【20190614】最大面积
题意 平面上有\(n\)个点\(A_i\),\(q\)次询问,每次给出一个点\(P\),求: \[ \sum_{i=L}^{R} 2S_{\triangle OPA_i} \] 最大值,其中$S_{\ ...
- CSS3 之filter毛玻璃效果弹窗
先看效果: 效果主要用css3的滤镜属性实现,代码如下: <!DOCTYPE html> <html lang="en"> <head> < ...
- IDEA中设置自动build-改动代码,不用重启工程,刷新页面即可
1.CTRL + SHIFT + A --> 查找Registry --> 找到并勾选compiler.automake.allow.when.app.running 2. FILE ...
- samba-centos7
目的: 1,匿名访问共享目录/home/home and /home/share 2,/home/samba/home 共享名为home,有读写权限,但是进入该文件夹需要验证用户 3,/home/sa ...
- Java中在时间戳计算的过程中遇到的数据溢出问题
背景 今天在跑定时任务的过程中,发现有一个任务在设置数据的查询时间范围异常,出现了开始时间戳比结束时间戳大的奇怪现象,计算时间戳的代码大致如下. package com.lingyejun.authe ...