Advertisement
Josif_tepe

Untitled

May 30th, 2024
668
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.87 KB | None | 0 0
  1. int dp[1005][1005];
  2.  
  3.   int lengthOfLongestAP(int A[], int n) {
  4.         int res = 2;
  5.         for(int i = 0; i < n; i++) {
  6.             for(int j = 0; j < n; j++) {
  7.                 dp[i][j] = 2;
  8.             }
  9.         }
  10.         for(int j = n - 2; j > 0; j--) {
  11.             int i = j - 1;
  12.             int k = j + 1;
  13.             while(i >= 0 and k < n) {
  14.                 if(A[i] + A[k] == 2 * A[j]) {
  15.                     dp[i][j] = dp[j][k] + 1;
  16.                     i--;
  17.                     k++;
  18.                 }
  19.                 else if(A[i] + A[k] < 2 * A[j]) {
  20.                     k++;
  21.                 }
  22.                 else {
  23.                     i--;
  24.                 }
  25.             }
  26.         }
  27.         for(int i= 0; i < n; i++) {
  28.             for(int j = 0; j < n; j++) {
  29.                 res = max(res, dp[i][j]);
  30.             }
  31.         }
  32.         return res;
  33.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement