Помогите упростить код C++
У меня есть рабочий код, но он СЛИШКОМ долго ДУМАЕТ , из-за чего не подходит под некоторые решения. Как ускорить выполнение этого кода программы, не меняя его существенно(чтобы он делал тоже самое что и сейчас, НО быстрее).Исполнение одного запроса около 4 секунды, я его сузил до 0.5 секунды, а желательно до 0.01 с
#include <iostream>
#include <bitset>
int main()
{
long long a;
int k;
std::cin >> a >> k;
int c;
std::cin >> c;
if (c == 1) {
for (std::size_t i = 0; i < k; +i) a &= ~(static_cast <long long>(1) << i);
std::cout << a;
}
else if (c == 2) {
a ^= (static_cast <long long>(1) << k);
std::cout << a;
}
else if (c == 3) {
a = (static_cast <long long>(1) << k) - 1;
std::cout << a;
}
}
Ответы (1 шт):
Автор решения: AR Hovsepyan
→ Ссылка
long long a,
b{ 1 };
unsigned k, c;
std::cin >> a >> k >> c;
b <<= k;
switch (c)
{
case 1:
a &= b - 1;
break;
case 2:
a ^= b;
break;
default:
a = b - 1;
}
cout << a;