답안 #837764

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
837764 2023-08-25T16:09:17 Z kshitij_sodani 드문 곤충 (IOI22_insects) C++17
0 / 100
241 ms 6532 KB
#include <bits/stdc++.h>
using namespace std;
typedef long long llo;
#define a first
#define b second
#define pb push_back
typedef long long llo;
#define endl '\n'

#include "insects.h"
#define in move_inside
#define out move_outside
#define query press_button

int d;
int query(int l,int r,vector<int> aa,vector<int> bb){
    //cout<<l<<":"<<r<<endl;

    if(l==r){
        return l;
    }
    int mid=(l+r+1)/2;
    vector<int> cc;
    vector<int> dd;
    int le=bb.size();
    for(auto j:bb){
        if(aa.size()+cc.size()==mid*d){
            dd.pb(j);
            continue;
        }
       /* if(aa.size()+cc.size()+le<mid*d){
            for(auto jj:cc){
                out(jj);
            }
            return query(l,mid-1,aa,cc);
        }*/
        le--;
        in(j);
        cc.pb(j);
        if(query()>mid){
            out(j);
            cc.pop_back();
            dd.pb(j);
        }
    }

    if(aa.size()+cc.size()!=mid*d){
        for(auto j:cc){
            out(j);
        }
        return query(l,(aa.size()+cc.size()/d),aa,cc);
    }
    for(auto j:cc){
        aa.pb(j);
    }
    return query(mid,r,aa,dd);
}
int min_cardinality(int n) {
    vector<int> ss;
    vector<int> tt;
    for(int i=0;i<n;i++){
        in(i);
        ss.pb(i);
        if(query()==2){
            out(i);
            tt.pb(i);
            ss.pop_back();
        }
    }
    d=ss.size();
    if(ss.size()==n){
        return 1;
    }
    if(ss.size()==1){
        return n;
    }

    int x=query(1,n/(ss.size()),ss,tt);



return x;
}

Compilation message

insects.cpp: In function 'int press_button(int, int, std::vector<int>, std::vector<int>)':
insects.cpp:27:31: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   27 |         if(aa.size()+cc.size()==mid*d){
      |            ~~~~~~~~~~~~~~~~~~~^~~~~~~
insects.cpp:47:27: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   47 |     if(aa.size()+cc.size()!=mid*d){
      |        ~~~~~~~~~~~~~~~~~~~^~~~~~~
insects.cpp: In function 'int min_cardinality(int)':
insects.cpp:71:17: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   71 |     if(ss.size()==n){
      |        ~~~~~~~~~^~~
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 208 KB Output is correct
2 Correct 0 ms 208 KB Output is correct
3 Correct 1 ms 208 KB Output is correct
4 Correct 0 ms 208 KB Output is correct
5 Incorrect 228 ms 6528 KB Too many queries.
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 208 KB Output is correct
2 Correct 0 ms 208 KB Output is correct
3 Correct 1 ms 208 KB Output is correct
4 Correct 0 ms 208 KB Output is correct
5 Incorrect 228 ms 6528 KB Too many queries.
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 241 ms 6532 KB Too many queries.
2 Halted 0 ms 0 KB -