HZNU_OJ 2094 这道题是简单题
题目:http://acm.hznu.edu.cn/OJ/problem.php?id=2094
图片:
题意:输入n,再输入n个数,判断是否存在连续三个数
思路:数组存数字出现次数,输入同时找最大最小,注意输入可能会有重复。
#include<iostream>
using namespace std;
const int maxn=1e5+10;
int a[maxn];
int main(){
int n;
int maxx,minn;
scanf("%d",&n);
int x;
for(int i=0;i<n;++i){
scanf("%d",&x);
a[x]++;
if(i==0)
minn=maxx=x;
else
minn=min(x,minn),maxx=max(maxx,x);
}
int flag=0;
for(int i=minn;i<=maxx;++i){
if(a[i]>=1&&a[i+1]>=1&&a[i+2]>=1){
flag=1;
break;
}
}
if(flag)
puts("YES");
else
puts("NO");
}