Submission #843881

#TimeUsernameProblemLanguageResultExecution timeMemory
843881AblablaKnapsack (NOI18_knapsack)C++11
0 / 100
219 ms600 KiB
#include <bits/stdc++.h> using namespace std; typedef pair<int, int> pii; int s, n; map<int, vector<pii>> sorban; vector<vector<int>> dp; vector<int> indexek; int megold(int ind, int maradt){ if(maradt < 0){ return 0; } if(ind == sorban.size()){ return 0; } if(dp[ind][maradt] != -1){ return dp[ind][maradt]; } int vissza = 0; int plusz = 0; int minusz = 0; for(int i = 0; i < sorban[indexek[ind]].size(); i++){ for(int j = 0; j < sorban[indexek[ind]][i].second; j++){ minusz += indexek[ind] + 1; plusz += sorban[indexek[ind]][i].first; int a = (maradt - minusz >= 0 ? megold(ind + 1, maradt - minusz) + plusz : 0); //cout << ind << " " << maradt << " : " << a << " : " << plusz << " " << minusz << "\n"; vissza = max(vissza, a); } } return dp[ind][maradt] = vissza; } int main(){ cin >> s >> n; for(int i = 0; i < n; i++){ int ertek, suly, db; cin >> ertek >> suly >> db; if(sorban[suly - 1].size() == 0){ indexek.push_back(suly - 1); } sorban[suly - 1].push_back({ertek, db}); } sort(indexek.begin(), indexek.end()); dp.assign(sorban.size(), vector<int>(s + 1, -1)); for(auto &x : sorban){ sort(x.second.begin(), x.second.end(), greater<pii>()); } cout << megold(0, s) << "\n"; }

Compilation message (stderr)

knapsack.cpp: In function 'int megold(int, int)':
knapsack.cpp:16:12: warning: comparison of integer expressions of different signedness: 'int' and 'std::map<int, std::vector<std::pair<int, int> > >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   16 |     if(ind == sorban.size()){
      |        ~~~~^~~~~~~~~~~~~~~~
knapsack.cpp:27:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   27 |     for(int i = 0; i < sorban[indexek[ind]].size(); i++){
      |                    ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...