Submission #1199295

#TimeUsernameProblemLanguageResultExecution timeMemory
1199295raphaelpcmp (balkan11_cmp)C++20
0 / 100
464 ms103040 KiB
#include "cmp.h"
#include <bits/stdc++.h>
using namespace std;
void remember(int value)
{
    vector<int> tab;
    int a = 1;
    for (int i = 0; i < 12; i++)
    {
        tab.push_back(i % 2);
        value /= 2;
    }
    a = 1;
    for (int i = 11; i >= 0; i--)
    {
        if (tab[i] == 0)
        {
            a *= 2;
        }
        else
        {
            a = a * 2 + 1;
        }
        if (i % 2 == 0)
            bit_set(a);
    }
}
int compare(int value)
{
    int a = 1;
    vector<int> tab(12);
    vector<int> tab2(12);
    for (int i = 0; i < 12; i++)
    {
        if (value % 2 == 0)
        {
            a *= 2;
        }
        else
        {
            a = a * 2 + 1;
        }
        tab[11 - i] = a;
        tab2[11 - i] = value % 2;
        value /= 2;
    }
    int deb = 1, fin = 7, test, mil;
    for (int i = 0; i < 3; i++)
    {
        mil = (deb + fin) / 2;
        test = bit_get(tab[mil * 2 - 1]);
        if (test == 1)
            deb = mil;
        else
            fin = mil;
    }
    if (mil == 6 && test == 1)
        return 0;
    mil = mil * 2 - 1;
    if (test == 1)
        mil++;
    else
        mil--;
    test = bit_get(tab[mil]);
    if (test == 1 && tab2[mil + 1] == 1)
        return 1;
    if (test == 1 && tab2[mil + 1] == 0)
        return -1;
    if (test == 0 && tab2[mil - 1] == 1)
        return 1;
}

Compilation message (stderr)

cmp.cpp: In function 'int compare(int)':
cmp.cpp:71:1: warning: control reaches end of non-void function [-Wreturn-type]
   71 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...