IndiaHacks 2016 - Online Edition (Div. 1 + Div. 2) A. Bear and Three Balls 水题
2016-03-20 15:50
387 查看
思路:水题,排序去重之后随便搞
Description
Limak is a little polar bear. He has n balls, the i-th ball has size ti.
Limak wants to give one ball to each of his three friends. Giving gifts isn't easy — there are two rules Limak must obey to make friends happy:
No two friends can get balls of the same size.
No two friends can get balls of sizes that differ by more than 2.
For example, Limak can choose balls with sizes 4, 5 and 3, or balls with sizes 90, 91 and 92.
But he can't choose balls with sizes 5, 5and 6 (two friends would get balls of the same
size), and he can't choose balls with sizes 30, 31 and 33 (because sizes 30 and 33 differ
by more than 2).
Your task is to check whether Limak can choose three balls that satisfy conditions above.
Input
The first line of the input contains one integer n (3 ≤ n ≤ 50) — the number of balls Limak has.
The second line contains n integers t1, t2, ..., tn (1 ≤ ti ≤ 1000)
where ti denotes the size of the i-th ball.
Output
Print "YES" (without quotes) if Limak can choose three balls of distinct sizes, such that any two of them differ by no more than 2. Otherwise, print "NO"
(without quotes).
Sample Input
Input
Output
Input
Output
Input
Output
#include <cstdio> #include <queue> #include <cstring> #include <iostream> #include <cstdlib> #include <algorithm> #include <vector> #include <map> #include <string> #include <set> #include <ctime> #include <cmath> #include <cctype> using namespace std; #define maxn 100000 #define LL long long int cas=1,T; int a[100]; int main() { int n; while (scanf("%d",&n)!=EOF) { for (int i = 1;i<=n;i++) scanf("%d",&a[i]); sort(a+1,a+1+n); int size = unique(a+1,a+1+n)-(a+1); bool flag = false; for (int i = 1;i<=size-2;i++) { if (a[i+2]-a[i]<=2) { flag=true; break; } } if (flag) puts("YES"); else puts("NO"); } //freopen("in","r",stdin); //scanf("%d",&T); //printf("time=%.3lf",(double)clock()/CLOCKS_PER_SEC); return 0; }
Description
Limak is a little polar bear. He has n balls, the i-th ball has size ti.
Limak wants to give one ball to each of his three friends. Giving gifts isn't easy — there are two rules Limak must obey to make friends happy:
No two friends can get balls of the same size.
No two friends can get balls of sizes that differ by more than 2.
For example, Limak can choose balls with sizes 4, 5 and 3, or balls with sizes 90, 91 and 92.
But he can't choose balls with sizes 5, 5and 6 (two friends would get balls of the same
size), and he can't choose balls with sizes 30, 31 and 33 (because sizes 30 and 33 differ
by more than 2).
Your task is to check whether Limak can choose three balls that satisfy conditions above.
Input
The first line of the input contains one integer n (3 ≤ n ≤ 50) — the number of balls Limak has.
The second line contains n integers t1, t2, ..., tn (1 ≤ ti ≤ 1000)
where ti denotes the size of the i-th ball.
Output
Print "YES" (without quotes) if Limak can choose three balls of distinct sizes, such that any two of them differ by no more than 2. Otherwise, print "NO"
(without quotes).
Sample Input
Input
4 18 55 16 17
Output
YES
Input
6 40 41 43 44 44 44
Output
NO
Input
8 5 972 3 4 1 4 970 971
Output
YES
相关文章推荐
- struts2中的constant配置
- linux内核分析作业4:使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用
- 猎豹MFC--画笔CPen和画刷CBrush
- 猎豹MFC--画椭圆圆弧饼图多边形及其他形状
- 工具-putty使用
- Android——Activity跳转
- 关于 Java 中 正则表达式的 MULTILINE 标志
- filter过滤器 的初步使用,以及他的基本应用
- IndiaHacks 2016 - Online Edition (Div. 1 + Div. 2) B. Bear and Compressing 暴力
- Gradle 配置 Android 工程
- MFC 对话框 静态文本 编辑框
- MFC 画直线和曲线
- nodejs-路由(待补充)
- 《构建之法》第1.2.3章读后感
- Ext小技巧:Ext.encode和Ext.urlEncode的使用场景
- 怎么理解RSA算法
- 3813: 奇数国|树状数组|欧拉函数
- poj-1045(数学不好怪我咯)
- 猎豹MFC--不使用向导
- nodejs-循环