6457 | 2023. 12. 02 11:42:30 | TulDav | Autókódolás | cpp11 | Időlimit túllépés 33/50 | 298ms | 3944 KiB |
#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
#define ll long long
#define vll vector<ll>
ll tobincount(ll n)
{
string sol = "";
while (n >= 1)
{
switch (n % 2)
{
case 0:
sol += "0";
break;
case 1:
sol += "1";
break;
}
n /= 2;
//cout << n << " " << sol << endl;
}
//cout << sol;
//reverse(sol.begin(), sol.end());
//cout << sol;
return count(sol.begin(), sol.end(), '1');
}
int main()
{
ll n; cin >> n;
ll m = n-1;
while (tobincount(m) != tobincount(n) && m > 0)
{
m--;
}
if (m == 0)
{
cout << -1;
return 0;
}
cout << m << endl;
m = n + 1;
while (tobincount(m) != tobincount(n))
{
m++;
}
cout << m;
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 33/50 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1812 KiB | |||
2 | Időlimit túllépés | 0/0 | 298ms | 1820 KiB | |||
3 | Részben helyes | 1/2 | 3ms | 2072 KiB | |||
4 | Elfogadva | 2/2 | 3ms | 2280 KiB | |||
5 | Elfogadva | 2/2 | 3ms | 2500 KiB | |||
6 | Elfogadva | 2/2 | 3ms | 2712 KiB | |||
7 | Elfogadva | 2/2 | 3ms | 2924 KiB | |||
8 | Elfogadva | 4/4 | 3ms | 3000 KiB | |||
9 | Elfogadva | 4/4 | 3ms | 3132 KiB | |||
10 | Elfogadva | 4/4 | 3ms | 3248 KiB | |||
11 | Elfogadva | 4/4 | 3ms | 3380 KiB | |||
12 | Elfogadva | 4/4 | 3ms | 3472 KiB | |||
13 | Időlimit túllépés | 0/4 | 298ms | 3548 KiB | |||
14 | Elfogadva | 4/4 | 8ms | 3600 KiB | |||
15 | Időlimit túllépés | 0/4 | 211ms | 3708 KiB | |||
16 | Időlimit túllépés | 0/4 | 277ms | 3784 KiB | |||
17 | Időlimit túllépés | 0/4 | 273ms | 3944 KiB |