35132023-02-28 14:42:49BenedekAutókódoláscsharpIdőlimit túllépés 38/50284ms24120 KiB
using System;

class Program
{
    static void Main(string[] args)
    {
        long n = long.Parse(Console.ReadLine());
        long prev = GetPreviousCode(n);
        long next = GetNextCode(n);

        Console.WriteLine(prev >= 0 ? prev.ToString() : "-1");
        Console.WriteLine(next >= 0 ? next.ToString() : "-1");
        Console.ReadKey();
    }

    static long GetPreviousCode(long n)
    {
        int bitCount = CountOnes(n);
        for (long i = n - 1; i >= 1; i--)
        {
            if (CountOnes(i) == bitCount) return i;
        }
        return -1;
    }

    static long GetNextCode(long n)
    {
        int bitCount = CountOnes(n);
        for (long i = n + 1; i <= long.MaxValue; i++)
        {
            if (CountOnes(i) == bitCount) return i;
        }
        return -1;
    }

    static int CountOnes(long n)
    {
        int count = 0;
        while (n > 0)
        {
            if ((n & 1) == 1) count++;
            n >>= 1;
        }
        return count;

       
    }

}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base38/50
1Elfogadva0/027ms20304 KiB
2Időlimit túllépés0/0280ms4384 KiB
3Elfogadva2/226ms21208 KiB
4Elfogadva2/227ms21432 KiB
5Elfogadva2/227ms21528 KiB
6Elfogadva2/226ms21728 KiB
7Elfogadva2/227ms22364 KiB
8Elfogadva4/426ms22696 KiB
9Elfogadva4/427ms23136 KiB
10Elfogadva4/426ms23632 KiB
11Elfogadva4/426ms23816 KiB
12Elfogadva4/426ms23556 KiB
13Időlimit túllépés0/4284ms7132 KiB
14Elfogadva4/428ms24120 KiB
15Elfogadva4/483ms23928 KiB
16Időlimit túllépés0/4284ms7632 KiB
17Időlimit túllépés0/4266ms7404 KiB