knightL

H_2

Apr 20th, 2011
307
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.69 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <vector>
  3. #include <algorithm>
  4. #include <iostream>
  5. #include <map>
  6. #include <string.h>
  7. using namespace std;
  8. #define SZ 10000
  9.  
  10. char dp[SZ][SZ]  ;
  11. int N;
  12. int a[SZ];
  13.  
  14. int l,r;
  15. int i;
  16. char res=0;
  17.  
  18. inline char mmax(char a,char b)
  19. {
  20.     if(a>b) return a;
  21.     return b;
  22. }
  23.  
  24. int main()
  25. {
  26.     scanf("%d",&N);
  27. //  N=SZ;
  28.     for(i=0;i<N;i++)
  29.     {
  30.         scanf("%d",a+i);
  31. //      a[i]=i+1;
  32.     }
  33.     sort(a,a+N);
  34.     for(i=0;i<N;i++)
  35.     {
  36.         l=0;
  37.         r=i-1;
  38.         while(l<r)
  39.         {
  40.             if(a[l]+a[r]==a[i])
  41.             {
  42.                 dp[l][i]=dp[r][l]+1;
  43.                 dp[r][i]=dp[l][r]+1;
  44.                 res=mmax(mmax(dp[l][i],dp[r][i]),res);
  45.             }
  46.             if(a[l]+a[r]<a[i])
  47.                 l++;
  48.             else
  49.                 r--;
  50.         }
  51.     }
  52.     cout<<int(res+2)<<endl;
  53. }
Advertisement
Add Comment
Please, Sign In to add comment