codevs 1006 等差数列

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了codevs 1006 等差数列相关的知识,希望对你有一定的参考价值。

题目描述 Description

给定n(1<=n<=100)个数,从中找出尽可能多的数使得他们能够组成一个等差数列.求最长的等差数列的长度.

输入描述 Input Description

第一行是一个整数n,接下来一行包括了n个数,每个数的绝对值不超过10000000.

输出描述 Output Description

对于每个输入数据,输出你所找出的最长等差数列的长度

样例输入 Sample Input

7

3

8

4

5

6

2

2

样例输出 Sample Output

5

 

分析:

水题。。。排序+枚举即可。

 

#include<iostream>
#include<algorithm>
using namespace std;
int a[110],ans=1;
int main()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;++i)cin>>a[i];
    sort(a+1,a+n+1);
    for(int i=1;i<=n;++i)
    {
        for(int j=i+1;j<=n;++j)
        {
            int t=1;
            int m=a[j]-a[i],l=i;
            for(int k=i+1;k<=n;++k)
            {
                if(a[k]-a[l]==m)
                {
                    ++t;
                    l=k;
                }
            }
            ans=max(t,ans);
        }
    }
    cout<<ans;
    return 0;
    
}

 

 

 

 

以上是关于codevs 1006 等差数列的主要内容,如果未能解决你的问题,请参考以下文章

code1006 等差数列

洛谷1006==codevs1169

1006 等差数列

1006 等差数列

codevs2205等差数列

CODEVS1281Xn数列