蓝桥杯训练营-节约用电

题解

  题意相比上次奶酪工厂而言要简单很多。

       做法也是一目了然的,从 2 - n - 1 中依次遍历,观察是否能删,如果能删,再用之前的一盏灯覆盖当前的灯即可,不能则不处理,这里需提前排好序。

#include <iostream>
#include <algorithm>
using namespace std;

const int N = 1e5 + 10;
int n, m;
int a[N];

int main()
{
    cin >> n >> m;
    for (int i = 0; i < n; ++i) {
        cin >> a[i];
    }
    sort(a, a + n);
    int ans = 0;
    // 策略为删了之后所带来的影响 
    for (int i = 1; i < n - 1; ++i) {
        int d = a[i + 1] - a[i - 1];
        // 可删 
        if (d <= m) {
            a[i] = a[i - 1];
            ++ans;
        }
    }
    cout << ans << endl;
    return 0;
}

 

posted @ 2020-11-06 00:34  Fool_one  阅读(84)  评论(0编辑  收藏  举报