蓝桥杯训练营-节约用电
题解
题意相比上次奶酪工厂而言要简单很多。
做法也是一目了然的,从 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; }