NC19487. Eustia of the Tarnished Wings
描述
输入描述
第一行两个空格隔开的整数n(1 ≤ n ≤ 106),m(0 ≤ m ≤ 109)。n代表当前势力的个数。m的含义如题目描述。
第二行n个空格隔开的整数di(0 ≤ di ≤ 109),代表第i个势力的领导人的属性值。
输出描述
输出一个数表示势力的最少数量。
示例1
输入:
4 1 2 1 3 10
输出:
2
C++14(g++5.4) 解法, 执行用时: 669ms, 内存消耗: 4324K, 提交时间: 2018-10-01 12:23:57
#include<bits/stdc++.h> using namespace std; int n,m,i,sum,a[1000001]; int main() { cin>>n>>m; sum=n; for(i=0;i<n;i++) cin>>a[i]; sort(a,a+n); for(i=0;i<n-1;i++) if(a[i+1]-a[i]<=m) sum--; cout<<sum<<endl; return 0; }
C++ 解法, 执行用时: 504ms, 内存消耗: 4284K, 提交时间: 2022-01-24 12:04:18
#include <bits/stdc++.h> using namespace std; int main() { int n,m; cin>>n>>m; int a[n]; int N=n; for(int i=0;i<n;++i)cin>>a[i]; sort(a,a+n); for(int i=0;i<n-1;++i)if(a[i+1]-a[i]<=m)--N; cout<<N; }
Python(2.7.3) 解法, 执行用时: 1345ms, 内存消耗: 89912K, 提交时间: 2018-10-01 12:23:08
n, m = map(int, raw_input().split()) a = sorted(map(int, raw_input().split())) ans = 1 for i in xrange(n - 1): if a[i + 1] - a[i] > m: ans += 1 print ans
Python3(3.5.2) 解法, 执行用时: 1500ms, 内存消耗: 116960K, 提交时间: 2018-10-01 15:45:43
n, m = map(int, input().split()) a = sorted(list(map(int, input().split()))) k = n for i in range(1, n): if a[i] - a[i - 1] <= m: k -= 1 print(k)