Submission #837762

#TimeUsernameProblemLanguageResultExecution timeMemory
837762kshitij_sodaniRarest Insects (IOI22_insects)C++17
0 / 100
34 ms416 KiB
#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,mid-1,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 (stderr)

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:31:34: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   31 |         if(aa.size()+cc.size()+le<mid*d){
      |            ~~~~~~~~~~~~~~~~~~~~~~^~~~~~
insects.cpp:48:27: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   48 |     if(aa.size()+cc.size()!=mid*d){
      |        ~~~~~~~~~~~~~~~~~~~^~~~~~~
insects.cpp: In function 'int min_cardinality(int)':
insects.cpp:72:17: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   72 |     if(ss.size()==n){
      |        ~~~~~~~~~^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...