This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "grader.h"
#include <algorithm>
void Rescue(int n,int m,int x,int y,int z)
{
int i,j,l,r,mid,t;
l=0;
r=n+m;
while(r-l>1)
{
mid=(l+r)/2;
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)if(std::abs(i-x)+std::abs(j-y)==mid)break;
if(j<=m)break;
}
if(i<=n)
{
t=Measure(i,j);
if(t==z)
{
Pinpoint(i,j);
return;
}
if(t>z)l=mid;
else r=mid;
}
else r=mid;
}
for(i=1;i<=n;i++)for(j=1;j<=m;j++)if(std::abs(i-x)+std::abs(j-y)>=l||std::abs(i-x)+std::abs(j-y)<=r)
{
t=Measure(i,j);
if(t==z)
{
Pinpoint(i,j);
return;
}
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |