codevs 1006 等差數列

2021-09-22 08:36:57 字數 650 閱讀 8818

題目描述

給定n(1<=n<=100)個數,從中找出盡可能多的數使得他們能夠組成乙個等差數列.求最長的等差數列的長度.

輸入描述

第一行是乙個整數n,接下來一行包括了n個數,每個數的絕對值不超過10000000.

輸出描述

對於每個輸入資料,輸出你所找出的最長等差數列的長度

樣例輸入73

8456

22樣例輸出5分析

用乙個二維陣列dp[i][j]儲存第i個數差值為j的序列長度

#include#includeusing namespace std;

#define n 100 + 10

#define m 1000000

int n;

int a[n],dp[n][m];//dp[i][j]中i表示第i個數,j表示差值

int main()

int ans = 0;

for(int i = 1; i <= n; i++)

for(int j = 0; j < m; j++)

ans = max(ans,dp[i][j]);

cout << ans + 1 << endl;//加上第乙個數

return 0;

}

CODE VS 1006 等差數列

題目 題解 1006 等差數列 include define debug define maxsize 100 int n 資料大小 intarray maxsize 所有數值 int maxcount 最大計數 int darray maxsize 差值陣列 交換陣列位置 void swap in...

codevs 1006 等差數列

時間限制 1 s 空間限制 128000 kb 題目等級 gold description 給定n 1 n 100 個數,從中找出盡可能多的數使得他們能夠組成乙個等差數列.求最長的等差數列的長度.輸入描述 input description 第一行是乙個整數n,接下來一行包括了n個數,每個數的絕對值...

codevs 1006 等差數列

題目描述 description 給定n 1 n 100 個數,從中找出盡可能多的數使得他們能夠組成乙個等差數列.求最長的等差數列的長度.輸入描述 input description 第一行是乙個整數n,接下來一行包括了n個數,每個數的絕對值不超過10000000.輸出描述 output descr...