# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1205054 | bronze_coder | Hack (APIO25_hack) | C++20 | 0 ms | 0 KiB |
#include <bits/stdc++.h>
using namespace std;
int squareroot(int n){
int x = sqrt(n);
while(x*x<n){
x++;
}
while(x*x>n){
x--;
}
return x;
}
int hack(){
int low = 1;
int high = 1000000000;
while(low<high){
int mid = (low+high)/2;
int s = sqrt(high-low);
vector<long long> query;
for(int i=0;i<s;i++){
query.push_back(i+1);
}
for(int i=0;low+s*(i+1)<=mid;i++){
query.push_back(low+s*(i+1));
}
query.push_back(mid+1);
if(collisions(query)){
high = mid;
}
else{
low = mid+1;
}
}
return low;
}