本地能过,但是提交零分
查看原帖
本地能过,但是提交零分
1195979
tyiii楼主2024/4/11 09:12
#define int long long

string s;
int n, siz, a[100], top;

int work(int num) {
	for (int i = 1; i <= top; ++i) {
		if (a[i] < num) continue;
		num = num - a[i - 1] - 1;
		if (num == 0) return a[i - 1];
		return num;
	}
}

signed main() {
	cin >> s >> n;
	siz = s.size();
	a[++top] = siz;
	while (a[top] <= n) {
		a[++top] = a[top - 1]<<1;
	}
	while (n > siz) {
		n = work(n);
	}
	cout << s[n-1];
	return 0;
}
2024/4/11 09:12
加载中...