IndiaHacks 2016 - Online Edition (Div. 1 + Div. 2)
2016-03-27 21:15
344 查看
A. Bear and Three Balls
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output
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 than2
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.
Inpu
The first line of the input contains one integer n (3 ≤ n ≤ 50) —
the number of balls Limak ha
The second line contains n integers t1, t2, ..., tn (1 ≤ ti ≤ 1000)
where ti denotes
the size of the i-th ball.
Outpu
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).
Examples
input
output
input
output
input
output
Note
In the first sample, there are 4 balls and Limak is able to choose three of them to satisfy the rules. He must must choose balls with sizes18, 16 and 17.
In the second sample, there is no way to give gifts to three friends without breaking the rules.
In the third sample, there is even more than one way to choose balls:
Choose balls with sizes 3, 4 and 5.
Choose balls with sizes 972, 970, 971
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output
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 than2
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.
Inpu
The first line of the input contains one integer n (3 ≤ n ≤ 50) —
the number of balls Limak ha
The second line contains n integers t1, t2, ..., tn (1 ≤ ti ≤ 1000)
where ti denotes
the size of the i-th ball.
Outpu
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).
Examples
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
题意:
A给3个朋友分苹果,无规矩不交友,规定每个朋友分的苹果大小不能相同,大小之差不可以超过2,给你n个苹果地大小,问能否选出3个苹果将它们分给朋友们;
Note
In the first sample, there are 4 balls and Limak is able to choose three of them to satisfy the rules. He must must choose balls with sizes18, 16 and 17.
In the second sample, there is no way to give gifts to three friends without breaking the rules.
In the third sample, there is even more than one way to choose balls:
Choose balls with sizes 3, 4 and 5.
Choose balls with sizes 972, 970, 971
<pre name="code" class="cpp"><pre name="code" class="cpp">#include <iostream> #include <algorithm> using namespace std; int main() { int n; int d[60]; while(cin>>n) { for(int i=0;i<n;i++) cin>>d[i]; sort(d,d+n); int m=unique(d,d+n)-d;///消除相等的值 for(int i=2;i<m;i++) { if(d[i]==d[i-1]+1&&d[i]==d[i-2]+2) { cout<<"YES"<<endl; goto endW; } } cout<<"NO"<<endl; endW:; } return 0; }
相关文章推荐
- 计算机网络--学习笔记
- Java笔记---通过nginx和FileZilla部署代码到云服务器
- Android中级学习笔记(三)之eclipse建完aidl文件后gen中没有生成相应的Java文件
- 《MySQL必知必会学习笔记》:创建计算字段
- POJ 3321
- 改善C#程序的建议3:在C#中选择正确的集合进行编码
- 《构建之法》阅读笔记02
- 理解Java虚拟机体系结构
- 三范式简析
- 《Linux内核设计与实现》——第18章(调试)
- 自学记录4#深入浅出数据分析
- 学习进度04
- ryu中的match项
- Linux学习笔记_常用命令2
- Android Support Library 23.2有哪些新东西(官网博客翻译)
- 软件测试3
- poj Silver Cow Party 3268 (来回单向最短路)好题
- jqueryEasyUi 后台页面结构设计
- SVN服务器搭建和使用(三)
- Scala对象