求助!!悬关求调
查看原帖
求助!!悬关求调
1044049
Star_Governor楼主2024/3/2 20:56

样例没过,但自己找不到错,求助大佬!

#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e3 + 10;
int n, m, r, ans;
int f[maxn];
struct ee {
	int start, end, eff;
} a[maxn];
bool cmp(ee a, ee b) {
	return a.start < b.start;
}
void dp(){
	for (int i = 1; i <= m; i++) {
		for (int j = i - 1; j >= 1; j--) {
			if (a[j].end <= a[i].start) {
				f[i] = max(f[j], f[i]);
			}
		}
		f[i] += a[i].eff;
		ans = max(ans, f[i]);
	}	
}
int main() {

	scanf("%d%d%d", &n, &m, &r);
	for (int i = 1; i <= m; i++) {
		scanf("%d%d%d", &a[i].start, &a[i].end +r, &a[i].eff);
	}
	sort(a + 1, a + m + 1, cmp);
	dp();
	printf("%d", ans);
	return 0;
}
2024/3/2 20:56
加载中...