fork download
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. int countSpecialElements(vector<int>& nums) {
  7. int n = nums.size();
  8. vector<int> dp(n + 1, 0);
  9.  
  10. for (int i = 0; i < n; ++i) {
  11. for (int j = 0; j < i; ++j) {
  12. if (nums[i] == nums[j] * 3) {
  13. dp[i + 1] = max(dp[i + 1], dp[j + 1] + 1);
  14. }
  15. }
  16. dp[i + 1] = max(dp[i + 1], dp[i]);
  17. }
  18.  
  19. return dp[n];
  20. }
  21.  
  22. int main() {
  23. int N;
  24. cin >> N;
  25.  
  26. vector<int> nums(N);
  27. for (int i = 0; i < N; ++i) {
  28. cin >> nums[i];
  29. }
  30.  
  31. cout << countSpecialElements(nums) << endl;
  32.  
  33. return 0;
  34. }
  35.  
Success #stdin #stdout 0.01s 5276KB
stdin
6
1 2 3 5 7 10
stdout
1