#include <bits/stdc++.h>
using namespace std;
vector<pair<int,int> >v[2005];
vector<pair<int ,int> >ans;
int n,s;
int dp[16005][2005];
int c(int i, int w){
if(i >= ans.size())return 0;
else if(dp[i][w] != -1)return dp[i][w];
if(w >= ans[i].first)return dp[i][w] = max(c(i+1, w-ans[i].first) + ans[i].second, c(i+1, w));
else return dp[i][w] = c(i+1, w);
}
int main(){
ios::sync_with_stdio(0);cin.tie(0);
memset(dp, -1, sizeof(dp));
cin >> s >> n;
for(int i=1;i<=n;i++){
int a,b,c;
cin >> a >> b >> c;
v[b].push_back(make_pair(a,c));
}
for(int i=1;i<=s;i++){
sort(v[i].begin(), v[i].end(), greater<pair<int, int> >());
int cnt = 0;
for(int j=0;j<v[i].size();j++){
if(cnt >= s/i)break;
for(int k=0;k<min(s/i-cnt, v[i][j].second);k++)ans.push_back(make_pair(i, v[i][j].first));
cnt = min(s/i, cnt + v[i][j].second);
}
}
//for(int i=0;i<ans.size();i++)cout << ans[i].first << " " << ans[i].second << '\n';
cout << c(0, s);
}
Compilation message
knapsack.cpp: In function 'int c(int, int)':
knapsack.cpp:8:7: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
8 | if(i >= ans.size())return 0;
| ~~^~~~~~~~~~~~~
knapsack.cpp: In function 'int main()':
knapsack.cpp:25:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
25 | for(int j=0;j<v[i].size();j++){
| ~^~~~~~~~~~~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
46 ms |
125836 KB |
Output is correct |
2 |
Correct |
46 ms |
125836 KB |
Output is correct |
3 |
Correct |
46 ms |
125872 KB |
Output is correct |
4 |
Correct |
47 ms |
125964 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
53 ms |
125892 KB |
Output is correct |
2 |
Correct |
49 ms |
125908 KB |
Output is correct |
3 |
Correct |
48 ms |
125852 KB |
Output is correct |
4 |
Correct |
48 ms |
125944 KB |
Output is correct |
5 |
Correct |
47 ms |
125916 KB |
Output is correct |
6 |
Correct |
55 ms |
125924 KB |
Output is correct |
7 |
Correct |
49 ms |
125932 KB |
Output is correct |
8 |
Correct |
51 ms |
125920 KB |
Output is correct |
9 |
Correct |
51 ms |
125912 KB |
Output is correct |
10 |
Correct |
53 ms |
125936 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
53 ms |
125892 KB |
Output is correct |
2 |
Correct |
49 ms |
125908 KB |
Output is correct |
3 |
Correct |
48 ms |
125852 KB |
Output is correct |
4 |
Correct |
48 ms |
125944 KB |
Output is correct |
5 |
Correct |
47 ms |
125916 KB |
Output is correct |
6 |
Correct |
55 ms |
125924 KB |
Output is correct |
7 |
Correct |
49 ms |
125932 KB |
Output is correct |
8 |
Correct |
51 ms |
125920 KB |
Output is correct |
9 |
Correct |
51 ms |
125912 KB |
Output is correct |
10 |
Correct |
53 ms |
125936 KB |
Output is correct |
11 |
Correct |
46 ms |
126060 KB |
Output is correct |
12 |
Correct |
53 ms |
126028 KB |
Output is correct |
13 |
Correct |
47 ms |
125948 KB |
Output is correct |
14 |
Correct |
45 ms |
125892 KB |
Output is correct |
15 |
Correct |
47 ms |
125828 KB |
Output is correct |
16 |
Correct |
50 ms |
126012 KB |
Output is correct |
17 |
Correct |
48 ms |
125920 KB |
Output is correct |
18 |
Correct |
49 ms |
125848 KB |
Output is correct |
19 |
Correct |
54 ms |
125912 KB |
Output is correct |
20 |
Correct |
57 ms |
125900 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
46 ms |
125836 KB |
Output is correct |
2 |
Correct |
46 ms |
125836 KB |
Output is correct |
3 |
Correct |
46 ms |
125872 KB |
Output is correct |
4 |
Correct |
47 ms |
125964 KB |
Output is correct |
5 |
Correct |
53 ms |
125892 KB |
Output is correct |
6 |
Correct |
49 ms |
125908 KB |
Output is correct |
7 |
Correct |
48 ms |
125852 KB |
Output is correct |
8 |
Correct |
48 ms |
125944 KB |
Output is correct |
9 |
Correct |
47 ms |
125916 KB |
Output is correct |
10 |
Correct |
55 ms |
125924 KB |
Output is correct |
11 |
Correct |
49 ms |
125932 KB |
Output is correct |
12 |
Correct |
51 ms |
125920 KB |
Output is correct |
13 |
Correct |
51 ms |
125912 KB |
Output is correct |
14 |
Correct |
53 ms |
125936 KB |
Output is correct |
15 |
Correct |
46 ms |
126060 KB |
Output is correct |
16 |
Correct |
53 ms |
126028 KB |
Output is correct |
17 |
Correct |
47 ms |
125948 KB |
Output is correct |
18 |
Correct |
45 ms |
125892 KB |
Output is correct |
19 |
Correct |
47 ms |
125828 KB |
Output is correct |
20 |
Correct |
50 ms |
126012 KB |
Output is correct |
21 |
Correct |
48 ms |
125920 KB |
Output is correct |
22 |
Correct |
49 ms |
125848 KB |
Output is correct |
23 |
Correct |
54 ms |
125912 KB |
Output is correct |
24 |
Correct |
57 ms |
125900 KB |
Output is correct |
25 |
Correct |
47 ms |
125900 KB |
Output is correct |
26 |
Correct |
79 ms |
126136 KB |
Output is correct |
27 |
Correct |
49 ms |
125944 KB |
Output is correct |
28 |
Correct |
47 ms |
125888 KB |
Output is correct |
29 |
Correct |
48 ms |
125872 KB |
Output is correct |
30 |
Correct |
55 ms |
125944 KB |
Output is correct |
31 |
Correct |
48 ms |
125952 KB |
Output is correct |
32 |
Correct |
51 ms |
125900 KB |
Output is correct |
33 |
Correct |
59 ms |
125884 KB |
Output is correct |
34 |
Correct |
55 ms |
125936 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
46 ms |
125836 KB |
Output is correct |
2 |
Correct |
46 ms |
125836 KB |
Output is correct |
3 |
Correct |
46 ms |
125872 KB |
Output is correct |
4 |
Correct |
47 ms |
125964 KB |
Output is correct |
5 |
Correct |
53 ms |
125892 KB |
Output is correct |
6 |
Correct |
49 ms |
125908 KB |
Output is correct |
7 |
Correct |
48 ms |
125852 KB |
Output is correct |
8 |
Correct |
48 ms |
125944 KB |
Output is correct |
9 |
Correct |
47 ms |
125916 KB |
Output is correct |
10 |
Correct |
55 ms |
125924 KB |
Output is correct |
11 |
Correct |
49 ms |
125932 KB |
Output is correct |
12 |
Correct |
51 ms |
125920 KB |
Output is correct |
13 |
Correct |
51 ms |
125912 KB |
Output is correct |
14 |
Correct |
53 ms |
125936 KB |
Output is correct |
15 |
Correct |
46 ms |
126060 KB |
Output is correct |
16 |
Correct |
53 ms |
126028 KB |
Output is correct |
17 |
Correct |
47 ms |
125948 KB |
Output is correct |
18 |
Correct |
45 ms |
125892 KB |
Output is correct |
19 |
Correct |
47 ms |
125828 KB |
Output is correct |
20 |
Correct |
50 ms |
126012 KB |
Output is correct |
21 |
Correct |
48 ms |
125920 KB |
Output is correct |
22 |
Correct |
49 ms |
125848 KB |
Output is correct |
23 |
Correct |
54 ms |
125912 KB |
Output is correct |
24 |
Correct |
57 ms |
125900 KB |
Output is correct |
25 |
Correct |
47 ms |
125900 KB |
Output is correct |
26 |
Correct |
79 ms |
126136 KB |
Output is correct |
27 |
Correct |
49 ms |
125944 KB |
Output is correct |
28 |
Correct |
47 ms |
125888 KB |
Output is correct |
29 |
Correct |
48 ms |
125872 KB |
Output is correct |
30 |
Correct |
55 ms |
125944 KB |
Output is correct |
31 |
Correct |
48 ms |
125952 KB |
Output is correct |
32 |
Correct |
51 ms |
125900 KB |
Output is correct |
33 |
Correct |
59 ms |
125884 KB |
Output is correct |
34 |
Correct |
55 ms |
125936 KB |
Output is correct |
35 |
Correct |
72 ms |
128088 KB |
Output is correct |
36 |
Correct |
112 ms |
128376 KB |
Output is correct |
37 |
Correct |
107 ms |
128028 KB |
Output is correct |
38 |
Correct |
78 ms |
128264 KB |
Output is correct |
39 |
Correct |
84 ms |
128956 KB |
Output is correct |
40 |
Correct |
435 ms |
130776 KB |
Output is correct |
41 |
Correct |
286 ms |
129348 KB |
Output is correct |
42 |
Correct |
307 ms |
129408 KB |
Output is correct |
43 |
Correct |
455 ms |
129968 KB |
Output is correct |
44 |
Correct |
420 ms |
129920 KB |
Output is correct |
45 |
Correct |
115 ms |
129512 KB |
Output is correct |
46 |
Correct |
77 ms |
128812 KB |
Output is correct |
47 |
Correct |
143 ms |
129516 KB |
Output is correct |
48 |
Correct |
241 ms |
129740 KB |
Output is correct |
49 |
Correct |
77 ms |
128972 KB |
Output is correct |
50 |
Correct |
269 ms |
129816 KB |
Output is correct |