您的位置:首页 > 其它

BestCoder Round #61 (div.2) 1001

2015-10-31 23:04 218 查看
问题描述

给n个数{A}_{1},{A}_{2}....{A}_{n}A​1​​,A​2​​....A​n​​,从中选3个位置不同的数A,B和C,问是否有一种情况满足A-B=C.


输入描述
输入有多组数据,不超过1000组.
每组数据第一行包含一个整数n,随后一行n个整数{A}_{1},{A}_{2}....{A}_{n}A​1​​,A​2​​....A​n​​.(3\leq n\leq 1003≤n≤100,0\leq {A}_{i}\leq 10000≤A​i​​≤1000)


输出描述
对于每组数据如果符合条件输出"YES",否则输出"NO".


输入样例
3
3 1 2
3
1 0 2
4
1 1 0 2


输出样例
YES
NO
YES

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
const int maxm=1e2+10;
int a[maxm];
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
int ok=0;
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
for(int k=0;k<n;k++)
{
if(i!=j&&i!=k&&j!=k&&(a[i]-a[j]==a[k]||a[i]-a[k]==a[j]||a[j]-a[i]==a[k]||a[j]-a[k]==a[i]||a[k]-a[i]==a[j]||a[k]-a[j]==a[i]))
{
ok=1;
break;
}
}
if(ok)
{
break;
}
}
if(ok)
{
break;
}
}
if(ok)
{
printf("YES\n");
}
else
{
printf("NO\n");
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: