Submission #59860658


Source Code Expand

#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;

string s[12];
int n, T;
char ans[200010];

long long Pow(int b)
{
	long long ret = 1;
	long long a = 2;
	while (b != 0)
	{
		if (b & 1)
			ret *= a;
		a *= a;
		b >>= 1;
	}
	return ret;
}

int Log(long long x)
{
	int l = 1, r = 63;
	while (l < r)
	{
		int mid = l + r >> 1;
		if (Pow(mid) >= x)
			r = mid;
		else l = mid + 1;
	}
	return l;
}

int dfs(long long x)
{
	if (x == 1)
		return 1;
	if (x == 2)
		return 2;
	if (x == 3)
		return 2;
	if (x == 4)
		return 1;
	long long y = dfs((x + 3) / 4);
	x %= 4;
	if (x == 0)
		x = 4;
	int ret = 1;
	if (y == 1 && x >= 2 && x <= 3)
		ret = 2;
	else if (y == 2 && (x < 2 || x > 3))
		ret = 2;
	return ret;
}

int main()
{
    cin >> s[1] >> T;
    n = s[1].size();
    s[2] = s[1];
    for (int i = 0; i < n; i++)
    {
    	if ('A' <= s[2][i] && s[2][i] <= 'Z')
    		s[2][i] = s[2][i] - 'A' + 'a';
    	else s[2][i] = s[2][i] - 'a' + 'A';
	}
	int cnt = 0;
	while (T--)
	{
		cnt++;
		long long k;
		cin >> k;
		long long q = (k + n - 1) / n;
		int r = (k - 1) % n;
		int t = dfs(q);
		ans[cnt] = s[t][r];
	}
	for (int i = 1; i <= cnt; i++)
		cout << ans[i] << " ";
	cout << endl;
    return 0;
}

Submission Info

Submission Time
Task D - Strange Mirroring
User ArmeriaLeap
Language C++ 20 (gcc 12.2)
Score 350
Code Size 1324 Byte
Status AC
Exec Time 142 ms
Memory 4020 KiB

Compile Error

Main.cpp: In function ‘int Log(long long int)’:
Main.cpp:30:29: warning: suggest parentheses around ‘+’ inside ‘>>’ [-Wparentheses]
   30 |                 int mid = l + r >> 1;
      |                           ~~^~~

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 350 / 350
Status
AC × 3
AC × 63
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt, test_44.txt, test_45.txt, test_46.txt, test_47.txt, test_48.txt, test_49.txt, test_50.txt, test_51.txt, test_52.txt, test_53.txt, test_54.txt, test_55.txt, test_56.txt, test_57.txt, test_58.txt, test_59.txt, test_60.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 3636 KiB
sample_02.txt AC 1 ms 3476 KiB
sample_03.txt AC 1 ms 3508 KiB
test_01.txt AC 7 ms 3528 KiB
test_02.txt AC 22 ms 3628 KiB
test_03.txt AC 4 ms 3656 KiB
test_04.txt AC 15 ms 3768 KiB
test_05.txt AC 16 ms 3836 KiB
test_06.txt AC 118 ms 3664 KiB
test_07.txt AC 93 ms 3600 KiB
test_08.txt AC 101 ms 3656 KiB
test_09.txt AC 10 ms 3800 KiB
test_10.txt AC 23 ms 3624 KiB
test_11.txt AC 4 ms 4004 KiB
test_12.txt AC 125 ms 3700 KiB
test_13.txt AC 17 ms 3604 KiB
test_14.txt AC 112 ms 3692 KiB
test_15.txt AC 62 ms 3748 KiB
test_16.txt AC 83 ms 3880 KiB
test_17.txt AC 111 ms 3816 KiB
test_18.txt AC 120 ms 3680 KiB
test_19.txt AC 104 ms 3780 KiB
test_20.txt AC 37 ms 3604 KiB
test_21.txt AC 40 ms 3712 KiB
test_22.txt AC 96 ms 3744 KiB
test_23.txt AC 55 ms 3920 KiB
test_24.txt AC 122 ms 3876 KiB
test_25.txt AC 108 ms 3820 KiB
test_26.txt AC 114 ms 3692 KiB
test_27.txt AC 4 ms 3912 KiB
test_28.txt AC 83 ms 3756 KiB
test_29.txt AC 38 ms 4008 KiB
test_30.txt AC 11 ms 3552 KiB
test_31.txt AC 50 ms 3708 KiB
test_32.txt AC 46 ms 3672 KiB
test_33.txt AC 43 ms 4020 KiB
test_34.txt AC 43 ms 3856 KiB
test_35.txt AC 43 ms 3820 KiB
test_36.txt AC 124 ms 3860 KiB
test_37.txt AC 122 ms 3728 KiB
test_38.txt AC 116 ms 3776 KiB
test_39.txt AC 108 ms 3904 KiB
test_40.txt AC 109 ms 3864 KiB
test_41.txt AC 110 ms 3840 KiB
test_42.txt AC 133 ms 3772 KiB
test_43.txt AC 130 ms 3760 KiB
test_44.txt AC 123 ms 3740 KiB
test_45.txt AC 116 ms 3816 KiB
test_46.txt AC 116 ms 3700 KiB
test_47.txt AC 118 ms 3900 KiB
test_48.txt AC 141 ms 3768 KiB
test_49.txt AC 138 ms 3756 KiB
test_50.txt AC 130 ms 3716 KiB
test_51.txt AC 123 ms 3920 KiB
test_52.txt AC 126 ms 3792 KiB
test_53.txt AC 124 ms 3796 KiB
test_54.txt AC 142 ms 3600 KiB
test_55.txt AC 139 ms 3668 KiB
test_56.txt AC 129 ms 3648 KiB
test_57.txt AC 127 ms 3796 KiB
test_58.txt AC 122 ms 3888 KiB
test_59.txt AC 125 ms 3780 KiB
test_60.txt AC 52 ms 3692 KiB