Submission #689826

#TimeUsernameProblemLanguageResultExecution timeMemory
689826NemanjaSo2005Rarest Insects (IOI22_insects)C++17
60.26 / 100
160 ms336 KiB
#include "insects.h"
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll N,niz[2005];
mt19937_64 rng;
int sp;
vector<int> V,tmp;
int min_cardinality(int n){
   rng.seed(6333);
   N=n;
   for(int i=1;i<=N;i++)
      niz[i]=i-1;
   for(int i=1;i<=5*N;i++)
      swap(niz[rng()%N+1],niz[rng()%N+1]);
   tmp.clear();
   for(int i=1;i<=N;i++)
      V.push_back(niz[i]);
   sp=-1;
   int br=0;
   while(true){
      for(int i=0;i<V.size();i++){
         if(tmp.size()==sp)
            break;
         move_inside(V[i]);
         if(press_button()==2){
            move_outside(V[i]);
            continue;
         }
         tmp.push_back(V[i]);
         swap(V[i],V[V.size()-1]);
         V.pop_back();
         i--;
      }
      if(sp!=-1 and tmp.size()!=sp)
         return br;
      br++;
      for(int i=0;i<tmp.size();i++)
         move_outside(tmp[i]);
      sp=tmp.size();
      tmp.clear();
   }
}


Compilation message (stderr)

insects.cpp: In function 'int min_cardinality(int)':
insects.cpp:22:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   22 |       for(int i=0;i<V.size();i++){
      |                   ~^~~~~~~~~
insects.cpp:23:23: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   23 |          if(tmp.size()==sp)
      |             ~~~~~~~~~~^~~~
insects.cpp:35:31: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   35 |       if(sp!=-1 and tmp.size()!=sp)
      |                     ~~~~~~~~~~^~~~
insects.cpp:38:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   38 |       for(int i=0;i<tmp.size();i++)
      |                   ~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...