# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1078229 | 2024-08-27T14:16:51 Z | Faisal_Saqib | Rarest Insects (IOI22_insects) | C++17 | 436 ms | 21788 KB |
#include <bits/stdc++.h> using namespace std; void move_inside(int i); void move_outside(int i); int press_button(); set<int> machine,rem; int sm=0; void add(int x) { if(machine.find(x)==machine.end()) { move_inside(x); machine.insert(x); } } void remp(int x) { if(machine.find(x)!=machine.end()) { move_outside(x); machine.erase(x); } } map<vector<int>,int> store; int ask() { vector<int> cur(begin(machine),end(machine)); if(store.find(cur)==store.end()) store[cur]=press_button(); // cout<<"Query for: "; // for(auto j:cur) // { // cout<<j<<' '; // } // cout<<" ans: "<<store[cur]<<endl; return store[cur]; } int min_cardinality(int n) { add(0); for(int i=1;i<n;i++) { add(i); if(ask()>1) { rem.insert(i); remp(i); } } int sz=machine.size(); int s=1; int e=(n/sz)+1; while(s+1<e) { int mid=(s+e)/2; vector<int> cur; // cout<<endl; // cout<<"for "<<mid<<endl; // cout<<"\nMachine: "; // for(auto j:machine) // { // cout<<j<<' '; // } // cout<<endl; for(auto i:rem) { // cout<<"Add and query "<<i<<endl; add(i); if(ask()>mid) { remp(i); } else { cur.push_back(i); if(machine.size()==(sz*mid)) break; } } if(machine.size()==((sz*mid))) { s=mid; // We can make values in amachin so keep for(auto i:cur) rem.erase(i); } else{ e=mid; rem.clear(); for(auto i:machine) rem.insert(i); for(auto i:rem) remp(i); } } return s; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 344 KB | Output is correct |
2 | Correct | 0 ms | 344 KB | Output is correct |
3 | Correct | 1 ms | 344 KB | Output is correct |
4 | Correct | 0 ms | 344 KB | Output is correct |
5 | Correct | 0 ms | 344 KB | Output is correct |
6 | Correct | 5 ms | 452 KB | Output is correct |
7 | Correct | 2 ms | 344 KB | Output is correct |
8 | Correct | 5 ms | 600 KB | Output is correct |
9 | Correct | 5 ms | 468 KB | Output is correct |
10 | Correct | 3 ms | 460 KB | Output is correct |
11 | Correct | 2 ms | 744 KB | Output is correct |
12 | Correct | 5 ms | 600 KB | Output is correct |
13 | Correct | 5 ms | 772 KB | Output is correct |
14 | Correct | 5 ms | 596 KB | Output is correct |
15 | Correct | 7 ms | 640 KB | Output is correct |
16 | Correct | 8 ms | 600 KB | Output is correct |
17 | Correct | 7 ms | 600 KB | Output is correct |
18 | Correct | 5 ms | 856 KB | Output is correct |
19 | Correct | 8 ms | 600 KB | Output is correct |
20 | Correct | 4 ms | 532 KB | Output is correct |
21 | Correct | 3 ms | 344 KB | Output is correct |
22 | Correct | 2 ms | 344 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 344 KB | Output is correct |
2 | Correct | 0 ms | 344 KB | Output is correct |
3 | Correct | 1 ms | 344 KB | Output is correct |
4 | Correct | 0 ms | 344 KB | Output is correct |
5 | Correct | 0 ms | 344 KB | Output is correct |
6 | Correct | 5 ms | 452 KB | Output is correct |
7 | Correct | 2 ms | 344 KB | Output is correct |
8 | Correct | 5 ms | 600 KB | Output is correct |
9 | Correct | 5 ms | 468 KB | Output is correct |
10 | Correct | 3 ms | 460 KB | Output is correct |
11 | Correct | 2 ms | 744 KB | Output is correct |
12 | Correct | 5 ms | 600 KB | Output is correct |
13 | Correct | 5 ms | 772 KB | Output is correct |
14 | Correct | 5 ms | 596 KB | Output is correct |
15 | Correct | 7 ms | 640 KB | Output is correct |
16 | Correct | 8 ms | 600 KB | Output is correct |
17 | Correct | 7 ms | 600 KB | Output is correct |
18 | Correct | 5 ms | 856 KB | Output is correct |
19 | Correct | 8 ms | 600 KB | Output is correct |
20 | Correct | 4 ms | 532 KB | Output is correct |
21 | Correct | 3 ms | 344 KB | Output is correct |
22 | Correct | 2 ms | 344 KB | Output is correct |
23 | Correct | 33 ms | 3064 KB | Output is correct |
24 | Correct | 33 ms | 2980 KB | Output is correct |
25 | Correct | 72 ms | 3896 KB | Output is correct |
26 | Correct | 100 ms | 6064 KB | Output is correct |
27 | Correct | 42 ms | 1616 KB | Output is correct |
28 | Correct | 22 ms | 1560 KB | Output is correct |
29 | Correct | 48 ms | 2308 KB | Output is correct |
30 | Correct | 42 ms | 2896 KB | Output is correct |
31 | Correct | 65 ms | 4552 KB | Output is correct |
32 | Correct | 138 ms | 6240 KB | Output is correct |
33 | Correct | 115 ms | 5712 KB | Output is correct |
34 | Correct | 74 ms | 4724 KB | Output is correct |
35 | Correct | 79 ms | 4812 KB | Output is correct |
36 | Correct | 69 ms | 4284 KB | Output is correct |
37 | Correct | 69 ms | 4712 KB | Output is correct |
38 | Correct | 49 ms | 3172 KB | Output is correct |
39 | Correct | 48 ms | 3148 KB | Output is correct |
40 | Correct | 35 ms | 3004 KB | Output is correct |
41 | Correct | 28 ms | 2088 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 340 KB | Output is correct |
2 | Correct | 0 ms | 344 KB | Output is correct |
3 | Correct | 0 ms | 344 KB | Output is correct |
4 | Correct | 0 ms | 344 KB | Output is correct |
5 | Correct | 0 ms | 344 KB | Output is correct |
6 | Correct | 0 ms | 344 KB | Output is correct |
7 | Correct | 112 ms | 10564 KB | Output is correct |
8 | Correct | 117 ms | 10320 KB | Output is correct |
9 | Correct | 203 ms | 15184 KB | Output is correct |
10 | Partially correct | 342 ms | 20124 KB | Output is partially correct |
11 | Correct | 81 ms | 4688 KB | Output is correct |
12 | Correct | 107 ms | 8972 KB | Output is correct |
13 | Correct | 125 ms | 7276 KB | Output is correct |
14 | Correct | 161 ms | 8960 KB | Output is correct |
15 | Partially correct | 368 ms | 17284 KB | Output is partially correct |
16 | Partially correct | 436 ms | 19288 KB | Output is partially correct |
17 | Partially correct | 333 ms | 17352 KB | Output is partially correct |
18 | Partially correct | 395 ms | 19676 KB | Output is partially correct |
19 | Partially correct | 318 ms | 18376 KB | Output is partially correct |
20 | Partially correct | 374 ms | 20760 KB | Output is partially correct |
21 | Partially correct | 347 ms | 17964 KB | Output is partially correct |
22 | Correct | 254 ms | 12920 KB | Output is correct |
23 | Correct | 189 ms | 9912 KB | Output is correct |
24 | Correct | 242 ms | 13376 KB | Output is correct |
25 | Correct | 182 ms | 11580 KB | Output is correct |
26 | Correct | 92 ms | 6992 KB | Output is correct |
27 | Correct | 310 ms | 19468 KB | Output is correct |
28 | Correct | 149 ms | 10184 KB | Output is correct |
29 | Correct | 390 ms | 20796 KB | Output is correct |
30 | Correct | 315 ms | 20944 KB | Output is correct |
31 | Partially correct | 307 ms | 16064 KB | Output is partially correct |
32 | Partially correct | 340 ms | 19244 KB | Output is partially correct |
33 | Correct | 165 ms | 9288 KB | Output is correct |
34 | Correct | 132 ms | 9908 KB | Output is correct |
35 | Partially correct | 319 ms | 21072 KB | Output is partially correct |
36 | Correct | 256 ms | 16376 KB | Output is correct |
37 | Partially correct | 333 ms | 16468 KB | Output is partially correct |
38 | Partially correct | 341 ms | 18124 KB | Output is partially correct |
39 | Correct | 323 ms | 19604 KB | Output is correct |
40 | Correct | 112 ms | 10296 KB | Output is correct |
41 | Correct | 249 ms | 17012 KB | Output is correct |
42 | Partially correct | 320 ms | 21788 KB | Output is partially correct |
43 | Correct | 11 ms | 856 KB | Output is correct |
44 | Correct | 51 ms | 3056 KB | Output is correct |
45 | Correct | 171 ms | 11092 KB | Output is correct |
46 | Correct | 59 ms | 6956 KB | Output is correct |
47 | Correct | 158 ms | 10576 KB | Output is correct |
48 | Correct | 108 ms | 9000 KB | Output is correct |