Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. #include<bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. int I[2003],D[2003],sequence[2003];
  6.  
  7. int n;
  8.  
  9. int main()
  10. {
  11.  
  12.     int i,j,res,test;
  13.  
  14.     scanf("%d",&test);
  15.  
  16.     while(test--)
  17.     {
  18.         scanf("%d",&n);
  19.  
  20.         for(i=0;i<n;i++)
  21.         {
  22.             scanf("%d",&sequence[i]);
  23.         }
  24.  
  25.         for(i=0;i<n;i++)
  26.         {
  27.             I[i] = D[i] = 1;
  28.         }
  29.  
  30.         for(i=n-1;i>=0;i--)
  31.         {
  32.             for(j=n-1;j>i;j--)
  33.             {
  34.                 if(sequence[i]>sequence[j])
  35.                 {
  36.                     I[i] = max(I[i],I[j]+1);
  37.                 }
  38.  
  39.                 else if(sequence[i]<sequence[j])
  40.                 {
  41.                     D[i] = max(D[i],D[j]+1);
  42.                 }
  43.             }
  44.         }
  45.  
  46.         res = 0;
  47.  
  48.         for(i=0;i<n;i++)
  49.         {
  50.             res = max(res,I[i]+D[i]-1);
  51.         }
  52.  
  53.         printf("%d\n",res);
  54.     }
  55.  
  56.     return 0;
  57. }