func_code_string: #include <bits/stdc++.h>   #pragma G++ optimize(2)   using namespace std;   long long read() {     char ch =    , last;     long long ans = 0;     while (ch <  0  || ch >  9 ) last = ch, ch = getchar();     while (ch >=  0  && ch <=  9 ) ans = ans * 10 + int(ch -  0 ), ch = getchar();     if (last ==  - ) return -ans;     return ans;   }   void write(long long x) {     if (x >= 10) write(x / 10);     putchar(x % 10 +  0 );   }   int n, a[200005], dp[200005], ans;   void init() {     n = read();     for (int i = 1; i <= n; i++) a[i] = read();   }   int main() {     init();     for (int i = 1; i <= n; i++) {       dp[i]++;       int l = 1, r = n;       while (l < r) {         int mid = (l + r) / 2;         if (mid == l) {           l++;           if (a[i] * 2 < a[l]) l--;           break;         }         if (a[i] * 2 < a[mid])           r = mid - 1;         else           l = mid;       }       if (l != i) dp[l] += dp[i];     }     for (int i = 1; i <= n; i++) ans = max(ans, dp[i]);     cout << ans << endl;     return 0;   }   