2 条题解
-
1
#include<iostream>
#include<algorithm>
using namespace std;
#define ll long long
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
ll n,k,sum=0,maxn=-1;
cin>>n>>k;
ll a[n+10];
for(int i=1;i<=n;i++){
cin>>a[i];
maxn=max(maxn,a[i]);//先找到最大值
}
sort(a+1,a+1+n);//从小到大排序
for(int i=n-1;i>0;i--){
if(a[i]<=maxn-k){
sum++;
maxn=a[i];//倒叙判断第一个满足条件的数
}
}
cout<<sum+1<<"\n";//+1(最大值)
return 0;
}
-
0
#include <iostream> #include <algorithm> using namespace std; #define i64 long long const i64 N=1e5+5; i64 a[N]={0}; i64 n,k; void solve(){ cin>>n>>k; for(i64 i=1;i<=n;i++){ cin>>a[i]; } sort(a+1,a+1+n); i64 cnt=0; i64 ls=-1e9-10; for(i64 i=1;i<=n;i++){ if(a[i]-ls>=k){ cnt++; ls=a[i]; } } cout<<cnt<<'\n'; } signed main() { ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); i64 t=1; // cin>>t; while(t--){ solve(); } return 0; }
- 1
信息
- ID
- 1202
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- (无)
- 递交数
- 80
- 已通过
- 27
- 上传者