#include<iostream>
using namespace std;
const int maxN=10024;
int n,vis[maxN],a[maxN];
bool find()
{
memset(vis,-1,sizeof(vis));
for(int i=0;i<n;++i){
for(int j=0;j<i;++j){
int t=2*a[i]-a[j];
if(t>=0&&t<n&&vis[t]==-1)
return true;
}
vis[a[i]]=1;
}
return false;
}
int main()
{
while(scanf("%d",&n)==1&&n){
scanf("%*c");
for(int i=0;i<n;++i)
scanf("%d",&a[i]);
if(find())
puts("no");
else
puts("yes");
}
return 0;
}
poj 1868 Antiarithmetic? 判断序列中是否有等差子序列
最新推荐文章于 2021-08-11 10:17:53 发布