#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=1e5;
int n,x,y;
int a[9999][9999];
void abc(int nn)
{
int m=1,z=1;
while(1)
{
for(int i=z;i<=n;i++)//→
{
if(a[z-1][i]==0 or a[z+1][i]==0 or a[z][i-1]==0 or a[z][i+1]==0)
{
a[z][i]=m++;
// cout<<a[z][i]<<" ";
}
if(m>(nn*nn))
{
// cout<<"→"<<m<<"\n";
return;
}
// cout<<a[z][i]<<" ";
}
// cout<<"\n";
for(int i=z+1;i<=n;i++)//↓
{
if(a[i-1][n]==0 or a[i+1][n]==0 or a[i][n-1]==0 or a[i][n+1]==0)
{
a[i][n]=m++;
}
if(m>(nn*nn))
{
// cout<<"↓"<<m<<"\n";
return;
}
// cout<<a[i][n]<<" ";
}
// cout<<"\n";
for(int i=n-1;i>=z;i--)//←
{
if(a[n-1][i]==0 or a[n+1][i]==0 or a[n][i-1]==0 or a[n][i+1]==0)
{
a[n][i]=m++;
}
if(m>(nn*nn))
{
// cout<<"←"<<m<<"\n";
return;
}
// cout<<a[n][i]<<" ";
}
n-=1;
z+=1;
// cout<<"\n";
for(int i=n;i>=z;i--)//↑
{
if(a[z-1-1][i]==0 or a[z-1+1][i]==0 or a[z-1][i-1]==0 or a[z-1][i+1]==0)
{
a[z-1][i]=m++;
}
if(m>(nn*nn))
{
// cout<<"↑"<<m<<"\n";
return;
}
// cout<<a[z-1][i]<<" ";
}
// cout<<"\n";
// cout<<m;
}
}
int main()
{
cin>>n>>x>>y;
int nn=n;
if(n==1)
{
cout<<1;
return 0;
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
a[i][j]=0;
}
}
// cout<<m;
abc(nn);
// cout<<n*n<<"\n";
cout<<a[x][y];
}
求助大佬不知道怎么优化,50分其他全部MLE.