Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- using namespace std;
- int main() {
- int n = 1200; // количество предметов по варианту
- int max_w = 500;
- vector<int> w(n);
- vector<double> c(n);
- vector<vector<double> > ws(n, vector<double> (max_w + 1, 0));
- for(int i = 0; i < n; i++) {
- w[i] = rand();
- c[i] = rand() / RAND_MAX + 1;
- }
- for(int i = 0; i < n; i++) {
- for(int j = 0; j <= max_w; j++) {
- if(j < w[i]) {
- ws[i][j] = ws[i - 1][j];
- } else {
- ws[i][j] = max(ws[i][j], ws[i - 1][j - w[i]] + c[i]);
- }
- }
- }
- cout << ws[n][max_w];
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement