蓝桥杯算法训练VIP-入学考试 (C++代码)

tip

inline

code

#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
int max(int a, int b) {
	if (a > b) {
		return a;
	} else {
		return b;
	}

}

inline void read() {
	int i, a[1005], b[1005], t, m, f[1005] = {0};
	cin >> t >> m; //total time and num of things

	for (i = 1; i <= m; i++) {
		cin >> a[i] >> b[i]; //ever time cost and value
	}
	int j;
	for (i = 1; i <= m; i++) {
		for (j = t; j >= a[i]; j--) {
			f[j] = max(f[j], f[j - a[i]] + b[i]);
		}
	}
	cout << f[t] << endl;
}

int main() {
	read();
	return 0;
}
posted @ 2022-01-25 11:11  ethon-wang  阅读(51)  评论(0编辑  收藏  举报