# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1219695 | mariamtsagareli | Square or Rectangle? (NOI19_squarerect) | C++20 | 0 ms | 0 KiB |
#include <bits/stdc++.h>
using namespace std;
extern bool a(int b,int c);
bool d(int e,int f){
int g,h,i,j;
int k=max(1,e/10);
for(g=1;g<=e;g+=k){
for(h=1;h<=e;h+=k){
if(a(g,h)){
i=g;
j=h;
goto l;
}
}
}
l:;
int m,n,o;
m=1;n=i;
while(m<n){
o=(m+n)/2;
if(a(o,j)) n=o;
else m=o+1;
}
int p=m;
m=i;n=e;
while(m<n){
o=(m+n+1)/2;
if(a(o,j)) m=o;
else n=o-1;
}
int q=m;
m=1;n=j;
while(m<n){
o=(m+n)/2;
if(a(i,o)) n=o;
else m=o+1;
}
int r=m;
m=j;n=e;
while(m<n){
o=(m+n+1)/2;
if(a(i,o)) m=o;
else n=o-1;
}
int s=m;
return (q-p)==(s-r);
}