Median 題解(思維)
阿新 • • 發佈:2021-08-19
題目連結
題目思路
比賽時間想了好久都沒想到其實沒有那麼難
我放下官方題解
程式碼
卷也卷不過,躺又躺不平#include<bits/stdc++.h> #define fi first #define se second #define debug printf(" I am here\n"); using namespace std; typedef long long ll; typedef unsigned long long ull; typedef pair<ll,ll> pii; mt19937 rnd(time(0)); const ll INF=0x3f3f3f3f3f3f3f3f; const int maxn=2e5+5,inf=0x3f3f3f3f,mod=20071027; const double eps=1e-10; int n,m; int b[maxn]; signed main(){ int _;scanf("%d",&_); while(_--){ scanf("%d%d",&n,&m); for(int i=1;i<=m;i++){ scanf("%d",&b[i]); } sort(b+1,b+1+m); int sz=n-m,ma=0,pos=0; b[m+1]=n+1; for(int i=1;i<=m+1;i++){ if(b[i]-b[i-1]-1>=ma){ ma=b[i]-b[i-1]-1; pos=i-1; } } if(2*ma<=sz||pos>=ma-(sz-ma)){ printf("YES\n"); }else{ printf("NO\n"); } } return 0; }