-
array array array
- HDU - 6197
-
#include<bits/stdc++.h> using namespace std; #define maxn 100008 int t,n,k,a[maxn]; int cnt,b[maxn],x; int main() { scanf("%d",&t); while(t--) { scanf("%d%d",&n,&k); for(int i=1; i<=n; i++) scanf("%d",&a[i]); b[cnt=1]=a[1]; for(int i=2; i<=n; i++) { if(a[i]>=b[cnt]) b[++cnt]=a[i]; else { x=upper_bound(b+1,b+1+cnt,a[i])-b; b[x]=a[i]; } } if(cnt>=n-k) { printf("A is a magic array.\n"); continue; } b[cnt=1]=a[1]; for(int i=2; i<=n; i++) { if(a[i]<=b[cnt]) b[++cnt]=a[i]; else { x=lower_bound(b+1,b+1+cnt,a[i])-b; b[x]=a[i]; } } if(cnt>=n-k) { printf("A is a magic array.\n"); continue; } printf("A is not a magic array.\n"); } return 0; }
array array array HDU - LIS-nlogn
最新推荐文章于 2021-07-14 15:18:18 发布