diff --git a/2336-231129-pass/main.cpp b/2336-231129-pass/main.cpp new file mode 100644 index 0000000..f48e086 --- /dev/null +++ b/2336-231129-pass/main.cpp @@ -0,0 +1,36 @@ +#include<bits/stdc++.h> +using namespace std; + +class SmallestInfiniteSet { +public: + const int length = 1010; + bool nums[1010]; + SmallestInfiniteSet() { + for(int i = 0 ; i <length ;i++) nums[i] = 1; + } + + int popSmallest() { + int i = 1; + while(nums[i]==0) i++; + nums[i] = 0; + return i; + } + + void addBack(int num) { + nums[num] = 1; + } +}; + +int main(){ + SmallestInfiniteSet sol; + + sol.addBack(2); + cout<<sol.popSmallest()<<endl;; + cout<<sol.popSmallest()<<endl;; + cout<<sol.popSmallest()<<endl;; + sol.addBack(1); + cout<<sol.popSmallest()<<endl;; + cout<<sol.popSmallest()<<endl;; + cout<<sol.popSmallest()<<endl;; + return 0; +} \ No newline at end of file