c语言,数组中抽出三个数进行组合

在一个数组中抽出三个数并进行组合,并满足使函数X方+y方-z方+xz-yx+x-y+z最大,输出这三个数(顺序要对)

#include<studio.h>
int main()
{
int a[20];//自己定义数组,然后进行赋值。
int x,y,z,m,n;
int i=0,j=1,k=2;
int max=a[0];
for(x=0;x<20-2;x++)
for(y=i+1;y<20-1;y++)
for(z=j+1;z<20;z++)
{
m=a[x]*a[x]+a[y]*a[y]-a[z]*a[z]+a[x]*a[z]-a[y]*a[x]+a[x]-a[y]+a[z];
if(m>max)
{
i=x;j=y;k=z;
}else{
n=max;
max=m;
m=n;
}
}
printh("%d,%d,%d \n",a[i],a[j],a[z]);
return 0;
}