链接:B. Hemose Shopping.
www,本来以为能上一点点分,没想到已经菜到B都做不出来了,手动埋了自己。思路受之前的一道题影响局限在找必须要挪的最小距离,然后就从开始wa到结束。
思路:如果存在i满足n-x+1<=i<=x那么该处是无法交换的。
int t,n,x,a[100010],b[100010];
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
cin>>t;
while(t--)
{
cin>>n>>x;
for(int i=1;i<=n;i++)cin>>a[i],b[i]=a[i];
sort(a+1,a+1+n);
int flag=1;
for(int i=n-x+1;i<=x;i++)
{
if(a[i]!=b[i]){flag=0;break;}
}
if(flag)cout<<"YES\n";
else cout<<"NO\n";
}
return 0;
}