#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; } |
English