共63道题,当前是第51题
1 #include 2 using namespace std; 3 char s[1000]; 4 int f[1000][8], n, x, y; 5 int Log2(int x) { 6 int a = 0, b = 1; 7 while (b*2 <= x) { 8 a ++; 9 b *= 2; 10 } 11 return a; 12 } 13 int main() { 14 cin >> s >> x >> y; 15 n = strlen(s); 16 for (int i = 0; i < n; i++) 17 f[i][0] = s[i]; 18 for (int i = 1; (1 << i) <= n; i++) 19 for (int j = 0; j+(1 << i)-1 < n; j++) 20 f[j][i] = max(f[j][i-1], f[j+(1 << i-1)][i-1]); 21 int z = Log2(y-x+1); 22 cout << (char)max(f[x][z], f[y-(1 << z)+1][z]) << endl; 23 return 0; 24 }
当输入为 `CGFCDBAE 2 6`时,输出为 `G`。( )
当输入的第一个字符串的长度为 $500$ 时,会发生数组越界。( )
交换第 $19$ 行和第 $20$ 行的代码并不会影响程序的输出结果。( )
$Log2(15)$的返回值为( )。
当输入为 `HETAOACCEPT 0 9` 时,输出结果为( )。
当输入为 `CodeInHETAO 4 10` 时,输出结果为( )。