题目描述
对于给定的n个整数数字,能否从中取出两个数字使得其差值为1010。
若存在两个数的差值为1010则输出YES
,否则输出NO
.
输入格式
输入有两行。
第一行一个整数数字n,表示接下来整数的个数。
第二行共n个整数。
输出格式
根据题目要求输出YES
或NO
.
数据范围
1<<=30001<n,ai<=3000
思路说明
首先要输入,再用一个双重循环(i==j就continue),a[i]-a[j]==10就输出“YES”,return 0,循环结束就输出“NO”(输出“YES”已经结束了)。
AC代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
int a[10001]={};//ACM赛制最好开3001
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(i==j){
continue;//不能自己与自己比
}
if(a[i]-a[j]==10){
cout<<"Yes";
return 0;//为了防止输出完YES又来个NO,先结束程序best,当然建一个flag也行。
}
}
}
cout<<"No";//如有YES已经结束了
return 0;
}