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