Solução: Problema do colecionador de moedas (Paulo Cesar)
From AdonaiMedrado.Pro.Br
Revision as of 12:36, 20 May 2009 by 200.17.147.2 (Talk)
#include<iostream>
- include<vector>
- include<algorithm>
using namespace std;
class Market { public:
Market(); int find_max_seals();
private:
vector<int> _seals; int _money;
};
Market:: Market() {
_money = 0;
int size; cin >> size; for(int cont = 0; cont < size; cont++) { int value; cin >> value; _seals.push_back(value); }
cin >> size; for(int cont = 0; cont < size; cont++) { int name; cin >> name; _money += _seals[name]; }
}
int Market:: find_max_seals() {
sort(_seals.begin(),_seals.end()); int value = 0, quant = 0; while(value <= _money) { value+=_seals[quant]; if(value <= _money) quant++; } return quant;
}
int main() {
Market market = Market(); cout << market.find_max_seals() << endl; return 0;
} code>