Time Limit | Memory Limit |
2000ms | 976MB |
Mr. Infinity has a string S consisting of digits from 1
to 9
. Each time the date changes, this string changes as follows:
2
in SS is replaced with 22
. Similarly, each 3
becomes 333
, 4
becomes 4444
, 5
becomes 55555
, 6
becomes 666666
, 7
becomes 7777777
, 8
becomes 88888888
and 9
becomes 999999999
. 1
remains as 1
.For example, if SS is 1324
, it becomes 1333224444
the next day, and it becomes 133333333322224444444444444444
the day after next. You are interested in what the string looks like after 5×10^15 days. What is the K-th character from the left in the string after 5×10^15 days?
S K
Print the K-th character from the left in Mr. Infinity's string after 5×10^15 days.
Sample Input #1 | Sample Output #1 |
---|---|
1214 4 | 2 |
The string S changes as follows:
1214
12214444
1222214444444444444444
12222222214444444444444444444444444444444444444444444444444444444444444444
The first five characters in the string after 5×10^15 days is 12222
. As K=4, we should print the fourth character, 2
.
- #include
- using namespace std;
- long long k,cnt;
- string s;
- int main(){
- cin>>s>>k;
- for(int i=0;i
size();i++) { - if(s[i]!='1')break;
- cnt++;
- }
- if(k<=cnt)printf("1");
- else printf("%c",s[cnt]);
- return 0;
- }