第二个测试点没过
查看原帖
第二个测试点没过
384145
zz84951901楼主2021/10/2 15:01
#include<iostream>
#include<string>
#include<cmath>
using namespace std;
int main()
{
	string a;
	cin >> a;
	long long n,res;
	cin >> n;
	res = n;
    int alen = a.size(),cnt=0;
    while(alen*pow(2,cnt) < n)
    {
    	cnt++;
	}
	while(res > alen)
	{
		if (n > alen*pow(2,cnt)/2 + 1)
		{
			res = n - alen*pow(2,cnt)/2-1;  
		}
		if (n == alen*pow(2,cnt)/2 + 1)
		{
			res = alen*pow(2,cnt)/2 ;
		}
		n = res;
		cnt--;
	}
	cout << a[res-1] << endl;
	return 0;
 } 
2021/10/2 15:01
加载中...