#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int n, m, wynik=0, plecak, a;
vector <int> t, p;
int main()
{
cin >> n >> m;
for (int i=0; i<n; i++)
{cin >> a; t.push_back(a);}
for (int i=0; i<m; i++)
{cin >> a; p.push_back(a);}
sort(t.begin(), t.end());
sort(p.begin(), p.end());
for (int i=m-1; i>=0; i--)
{
plecak=p[i];
for (int j=t.size()-1; j>=0; j--)
if (t[j]<=plecak) {plecak-=t[j]; t.erase(t.begin()+j);}
wynik++;
if (t.size()==0) {cout << wynik; break;}
}
if (t.size()!=0) cout << "NIE";
}
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 | #include<iostream> #include<algorithm> #include<vector> using namespace std; int n, m, wynik=0, plecak, a; vector <int> t, p; int main() { cin >> n >> m; for (int i=0; i<n; i++) {cin >> a; t.push_back(a);} for (int i=0; i<m; i++) {cin >> a; p.push_back(a);} sort(t.begin(), t.end()); sort(p.begin(), p.end()); for (int i=m-1; i>=0; i--) { plecak=p[i]; for (int j=t.size()-1; j>=0; j--) if (t[j]<=plecak) {plecak-=t[j]; t.erase(t.begin()+j);} wynik++; if (t.size()==0) {cout << wynik; break;} } if (t.size()!=0) cout << "NIE"; } |
English