#include <cstdio> #include <vector> #include <algorithm> using namespace std; int main(){ std::vector<unsigned int> items; std::vector<unsigned int> backpacks; unsigned int backpack = 0; unsigned int used = 0; unsigned int n, m; scanf("%u", &n); scanf("%u", &m); while(n--){ unsigned int temp; scanf("%u", &temp); items.push_back(temp); } while(m--){ unsigned int temp; scanf("%u", &temp); backpacks.push_back(temp); } sort(backpacks.begin(), backpacks.end()); sort(items.begin(), items.end()); vector<unsigned int>::iterator it; for(it = backpacks.begin(); it != backpacks.end(); it++){ if(!items.size()){ break; } backpack = (*it); used++; vector<unsigned int>::iterator item; for(item = items.begin(); item != items.end();){ if(backpack >= (*item)){ backpack -= *item; item = items.erase(item); if(item == items.end()) break; }else{ item++; } } } if(items.size()){ printf("NIE\n"); }else{ printf("%u\n", used); } return 0; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | #include <cstdio> #include <vector> #include <algorithm> using namespace std; int main(){ std::vector<unsigned int> items; std::vector<unsigned int> backpacks; unsigned int backpack = 0; unsigned int used = 0; unsigned int n, m; scanf("%u", &n); scanf("%u", &m); while(n--){ unsigned int temp; scanf("%u", &temp); items.push_back(temp); } while(m--){ unsigned int temp; scanf("%u", &temp); backpacks.push_back(temp); } sort(backpacks.begin(), backpacks.end()); sort(items.begin(), items.end()); vector<unsigned int>::iterator it; for(it = backpacks.begin(); it != backpacks.end(); it++){ if(!items.size()){ break; } backpack = (*it); used++; vector<unsigned int>::iterator item; for(item = items.begin(); item != items.end();){ if(backpack >= (*item)){ backpack -= *item; item = items.erase(item); if(item == items.end()) break; }else{ item++; } } } if(items.size()){ printf("NIE\n"); }else{ printf("%u\n", used); } return 0; } |