Eustia of the Tarnished Wings
生活随笔
收集整理的這篇文章主要介紹了
Eustia of the Tarnished Wings
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
鏈接:https://www.nowcoder.com/acm/contest/201/E
來源:牛客網
時間限制:C/C++ 1秒,其他語言2秒
空間限制:C/C++ 1048576K,其他語言2097152K
64bit IO Format: %lld
題目描述
Novus Aither是一個潛藏著多個勢力的城市。每個勢力都有一個唯一的領導人,每個領導人有一個屬性值。如果兩個勢力的領導人的屬性值分別為a,b,且|a-b| ≤ m,說明這兩個領導人的思想有一定的相似之處,這兩個勢力可以合并,新的領導人可以指定為原來的兩個領導人中的任意一個。新產生的勢力可以依照相同的規則,繼續與其他勢力合并。問在所有可能的情況中,最少會剩下幾個勢力。
輸入描述
第一行兩個空格隔開的整數n(1 ≤ n ≤ 106),m(0 ≤ m ≤ 10^9)。n代表當前勢力的個數。m的含義如題目描述。 第二行n個空格隔開的整數di(0 ≤ di ≤ 10^9),代表第i個勢力的領導人的屬性值。
輸出描述
輸出一個數表示勢力的最少數量。
輸入
4 1
2 1 3 10
輸出
2
解題思路
首先按從小到大排序,判斷相鄰兩項的值是否大于m。
#include <iostream> #include <algorithm> using namespace std; int a[1000010], n, m, ans; int main() {while (cin >> n >> m){ans = 0;for (int i = 0; i < n; i++)cin >> a[i];sort(a, a + n);for (int i = 1; i < n; i++)if (a[i] - a[i - 1] > m)ans++;cout << ans + 1 << endl;}return 0; }?
總結
以上是生活随笔為你收集整理的Eustia of the Tarnished Wings的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 风起,开篇
- 下一篇: 查找作者发行的图书总数,按图书总数进行前