Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<iostream>#include<climits>using namespace std;#define N 32int a[N],b[N];int n,m,k,ans,min_ans;void print(int *a,int n){for(int i=1;i<=n;i++)cout<<a[i]<<" ";cout<<endl;ans++;}bool check(int h){if(h>1&&h%2==1&&(a[h]-a[h-1])<0)return true;if(h>1&&h%2==0&&(a[h]-a[h-1])>0)return true;return false;}void dfs(int n,int h,int z){if(h==n+1){min_ans=min(min_ans,z);