家人们,54pts求调,呜呜呜
  • 板块P1250 种树
  • 楼主Weizhuo_Zhao
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/9/7 23:51
  • 上次更新2024/9/8 11:59:25
查看原帖
家人们,54pts求调,呜呜呜
681558
Weizhuo_Zhao楼主2024/9/7 23:51
#include <bits/stdc++.h>
#define MAX_H 5005
#define MAX_N 30005
using namespace std;

struct node {
	int l, r, need;
};
node a[MAX_N];
bool b[MAX_H];
int ans = 0;

bool cmp(node x, node y) {
	if(x.r==y.r)
		return x.l<y.l;
	return x.r < y.r;
}

int main() {
	int n, h;
	cin >> n >> h;
	for (int i = 1; i <= h; i++)
		cin >> a[i].l >> a[i].r >> a[i].need;
	sort(a + 1, a + h + 1, cmp);
	for (int i = 1; i <= h; i++) {
		int sum = 0;
		for (int j = a[i].l; j <= a[i].r; j++)
			sum += b[j];
		if (sum >= a[i].need)
			continue;
		for (int j = a[i].r; j >= a[i].l; j--) {
			if (sum == a[i].need)
				break;
			if (b[j])
				continue;
			b[j] = true;
			sum++;
			ans++;
		}
	}
	cout << ans;
	return 0;
}
2024/9/7 23:51
加载中...