题目:

​题目链接​

题解:

#include <bits/stdc++.h>
using namespace std;
const int N=1e6+10;
long long a[N],b[N];
map<long long, long long> c;
int main()
{
int t;
cin>>t;
while(t--)
{
c.clear();
long long n,k;
cin>>n>>k;
for(int i=1;i<=n;i++) cin>>a[i],b[i]=a[i];
sort(b+1,b+1+n);
for(int i=2;i<=n;i++)
{
c[b[i]]=b[i-1];
}
long long cc=n;
for(int i=1;i<=n-1;i++)
{
if(a[i]<a[i+1]&&c[a[i+1]]==a[i]) cc--;
//cout<<cc<<endl;
}
//cout<<cc<<endl;
if(k>=cc) cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
return 0;
}