| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1339823 | tudor_costin | Superpiece (EGOI22_superpiece) | C++20 | 3 ms | 348 KiB |
#include <bits/stdc++.h>
using namespace std;
void solve()
{
string s;
cin>>s;
assert(s=="N");
int a,b,c,d;
cin>>a>>b>>c>>d;
int p=abs(a-c),q=abs(b-d);
int l=(p+q+2)/3,r=1e9;
int ans=r;
while(l<=r)
{
int mid=(l+r)/2;
int B=mid;
pair<int,int> intervy={0,min(B,2*B-p)};
pair<int,int> intervx={0,min(B,2*B-q)};
if(intervy.first%2!=p%2) intervy.first++;
if(intervy.second%2!=p%2) intervy.second--;
if(intervx.first%2!=q%2) intervx.first++;
if(intervx.second%2!=q%2) intervx.second--;
bool ok=1;
if(intervy.first>intervy.second) ok=0;
if(intervx.first>intervx.second) ok=0;
if(!ok)
{
l=mid+1;
continue;
}
///check possible cu x=0
if(intervx.first==0)
{
if(p<=B && p%2==B%2 && q<=2*B && q%4==((2*B)%4))
{
ans=mid;
r=mid-1;
continue;
}
}
///check possible cu y=0
if(intervy.first==0)
{
if(q<=B && q%2==q%2 && p<=2*B && p%4==((2*B)%4))
{
ans=mid;
r=mid-1;
continue;
}
}
///nu luam x=0 sau y=0
if(intervx.first==0) intervx.first=2;
if(intervy.first==0) intervy.first=2;
if(intervy.first>intervy.second) ok=0;
if(intervx.first>intervx.second) ok=0;
///cout<<mid<<' '<<intervx.first<<' '<<intervx.second<<'\n';
int low=intervy.first+intervx.first,high=intervx.second+intervy.second;
if(B<low || B>high) ok=0;
if(ok)
{
ans=mid;
r=mid-1;
}
else l=mid+1;
}
cout<<ans<<'\n';
}
int main()
{
int t;
cin>>t;
while(t--)
{
solve();
}
return 0;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
