大佬能不能帮忙看一下第一题我这样写问题出在哪里了?没有把2n当做重复的单位,而是不断的找k对称的位置,直到找到n以内 int main() { long long n, m, k; cin >> n >> m >> k; vector<int> nums(n, 0); for (int i = 0; i < n; i++) { cin >> nums[i]; } long long count = n; while (count < k) { count *= 2; } while (k > n) { k = count / 2 - (k - count / 2) + 1; count /= 2; } cout << nums[k - 1]; return 0; }
点赞 1

相关推荐

牛客网
牛客网在线编程
牛客网题解
牛客企业服务