Submission #837769

#TimeUsernameProblemLanguageResultExecution timeMemory
837769kshitij_sodaniRarest Insects (IOI22_insects)C++17
99.95 / 100
63 ms584 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(); int ind2=-1; for(auto j:bb){ if(aa.size()+cc.size()==mid*d){ dd.pb(j); continue; } ind2++; if(aa.size()+cc.size()+le<mid*d){ for(auto jj:cc){ out(jj); } for(int jj=ind2;jj<bb.size();jj++){ cc.pb(bb[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); } int mi=mid-1; int x=aa.size()+cc.size(); if((x/d)<mi){ mi=(x/d); } return query(l,mi,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:28:31: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   28 |         if(aa.size()+cc.size()==mid*d){
      |            ~~~~~~~~~~~~~~~~~~~^~~~~~~
insects.cpp:33:34: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   33 |         if(aa.size()+cc.size()+le<mid*d){
      |            ~~~~~~~~~~~~~~~~~~~~~~^~~~~~
insects.cpp:37:31: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   37 |             for(int jj=ind2;jj<bb.size();jj++){
      |                             ~~^~~~~~~~~~
insects.cpp:52:27: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   52 |     if(aa.size()+cc.size()!=mid*d){
      |        ~~~~~~~~~~~~~~~~~~~^~~~~~~
insects.cpp: In function 'int min_cardinality(int)':
insects.cpp:81:17: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   81 |     if(ss.size()==n){
      |        ~~~~~~~~~^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...