Submission #1233481

#TimeUsernameProblemLanguageResultExecution timeMemory
1233481Tenis0206How to Avoid Disqualification in 75 Easy Steps (CEOI23_avoid)C++20
15 / 100
1 ms428 KiB
#include <bits/stdc++.h>
#include "avoid.h"

using namespace std;

pair<int,int> scout(int r, int h)
{
    if(h == 1 && r == 10)
    {
        for(int b=0;b<10;b++)
        {
            vector<int> p;
            for(int i=1;i<=1000;i++)
            {
                if((i & (1<<b)) == 0)
                {
                    p.push_back(i);
                }
            }
            send(p);
        }
        vector<int> r = wait();
        int rez = 0;
        for(int b=0;b<10;b++)
        {
            if(!r[b])
            {
                rez += (1<<b);
            }
        }
        return {rez, rez};
    }
    if(r == 20 && h == 20)
    {
        int poz1 = 0, poz2 = 0;
        int st = 1;
        int dr = 1000;
        while(st <= dr)
        {
            int mij = (st + dr) >> 1;
            vector<int> p;
            for(int i=1;i<=mij;i++)
            {
                p.push_back(i);
            }
            send(p);
            vector<int> r = wait();
            if(r.front() == 1)
            {
                poz1 = mij;
                dr = mij - 1;
            }
            else
            {
                st = mij + 1;
            }
        }
        st = poz1 + 1;
        dr = 1000;
        while(st <= dr)
        {
            int mij = (st + dr) >> 1;
            vector<int> p;
            for(int i=poz1+1;i<=mij;i++)
            {
                p.push_back(i);
            }
            send(p);
            vector<int> r = wait();
            if(r.front() == 1)
            {
                poz2 = mij;
                dr = mij - 1;
            }
            else
            {
                st = mij + 1;
            }
        }
        if(poz2 == 0)
        {
            poz2 = poz1;
        }
        return {poz1, poz2};
    }
}

Compilation message (stderr)

avoid.cpp: In function 'std::pair<int, int> scout(int, int)':
avoid.cpp:86:1: warning: control reaches end of non-void function [-Wreturn-type]
   86 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...