天天看點

Moamen and k-subarrays

題目:

#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;
}      

繼續閱讀