全部RE了,来请教一些基础语法
查看原帖
全部RE了,来请教一些基础语法
1019606
KouMoSir楼主2023/12/14 11:04
#include<iostream>
#include<vector>
#include<queue>
#include<cmath>
using namespace std;
const int N = 2e5 + 10;
int n, m, v[N], p[N], q[N], f[N];
vector<int> vec[100];
int main() {
	cin >> n >> m;
	for (int i = 1; i <= m; i++) {
		cin >> v[i] >> p[i] >> q[i];
		vec[q[i]].push_back(i);
	}
	for (int i = 1; i <= m; i++) {
		if (q[i])continue;
		for (int j = 0; j <= n; j++) {
			int tmp = j - v[i];
			//0
			if (tmp >= 0)f[tmp] = max(f[tmp], f[j] + v[i] * p[i]);
			//010
			if (vec[j].size() == 0)continue;
			tmp = tmp - v[vec[j][0]];
			if (tmp >= 0)f[tmp] = max(f[tmp], f[j] + v[i] * p[i] + v[vec[j][0]] * p[vec[j][0]]);
			//001
			if (vec[j].size() < 1)continue;
			tmp = tmp - v[vec[j][1]] + v[vec[j][0]];
			if (tmp >= 0)f[tmp] = max(f[tmp], f[j] + v[i] * p[i] + v[vec[j][1]] * p[vec[j][1]]);
			//011
			tmp = tmp - v[vec[j][0]];
			if (tmp >= 0)f[tmp] = max(f[tmp], f[j] + v[i] * p[i] + v[vec[j][0]] * p[vec[j][0]] + v[vec[j][1]] * p[vec[j][1]]);
		}
	}
	int res = 0;
	for (int i = 0; i <= n; i++)res = max(res, f[i]);
	cout << res << '\n';
}

上面是代码 我下载了第一个测试点,在本地能够正常跑通

但是luogu评测

subtask#0 全部RE,

subtask#1 全部WA,

2023/12/14 11:04
加载中...