Submission #951614

#TimeUsernameProblemLanguageResultExecution timeMemory
951614LittleOrangeSuper Dango Maker (JOI22_dango3)C++17
7 / 100
403 ms696 KiB
#include "dango3.h"

#include <vector>

namespace {
    int variable_example = 1;
    using namespace std;
    using ll = int;
}  // namespace

void Solve(int N, int M) {
    ll nm = N*M;
    ll n = N;
    vector<ll> a(nm,1);
    for(ll round = 0;round<M;round++){
        vector<ll> b;
        for(ll i = 0;i<nm;i++) if(a[i])b.push_back(i+1);
        if (round==M-1){
            Answer(b);
            return;
        }
        ll l = n,r=b.size();
        while(l<r){
            ll m = l+r>>1;
            vector<ll> c;
            for(ll i = 0;i<m;i++) c.push_back(b[i]);
            if(Query(c)>=1){
                r = m;
            }else{
                l = m+1;
            }
        }
        vector<ll> choose(l,1);
        ll chcnt = l;
        for(ll i = 0;i<l&&chcnt>n;i++){
            choose[i] = 0;
            vector<ll> c;
            for(ll i = 0;i<l;i++) if(choose[i])c.push_back(b[i]);
            if(Query(c)==0){
                choose[i] = 1;
            }else{
                chcnt--;
            }
        }
        vector<ll> out;
        for(ll i = 0;i<l;i++) if(choose[i]){
            out.push_back(b[i]);
            a[b[i]-1] = 0;
        }
        Answer(out);
    }
}

Compilation message (stderr)

dango3.cpp: In function 'void Solve(int, int)':
dango3.cpp:24:21: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   24 |             ll m = l+r>>1;
      |                    ~^~
dango3.cpp: At global scope:
dango3.cpp:6:9: warning: '{anonymous}::variable_example' defined but not used [-Wunused-variable]
    6 |     int variable_example = 1;
      |         ^~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...