貪欲。
class Cut {
public:
int getMaximum(vector <int> len, int cut)
{
int ret = 0;
vector<int> v, u;
for (int i = 0;i < len.size(); ++i) {
if (len[i] % 10 == 0) v.push_back(len[i]);
else u.push_back(len[i]);
}
sort(ALL(v));
sort(ALL(u));
reverse(ALL(u));
for (int i = 0; i < v.size(); ++i) {
while (v[i] != 10 && cut) {
--cut;
v[i] -= 10;
++ret;
}
if (v[i] == 10) ++ret;
}
for (int i = 0; i < u.size(); ++i) {
while (10 <= u[i] && cut) {
--cut;
u[i] -= 10;
++ret;
}
}
return ret;
}
};
0 件のコメント :
コメントを投稿