- class GUMIAndSongsDiv2 {
- public:
- int maxSongs(vector <int> D, vector <int> ts, int T)
- {
- const int N = D.size();
- const int BIT = 1 << N;
- int ret = 0;
- for (int bit = 0; bit < BIT; ++bit) {
- vector<lli> v;
- lli sum = 0;
- for (int i = 0; i < N; ++i) {
- if (bit & (1 << i)) {
- sum += D[i];
- v.push_back(ts[i]);
- }
- }
- sort(v.begin(), v.end());
- for (int i = 0; i + 1 < v.size(); ++i) {
- sum += abs(v[i] - v[i + 1]);
- }
- if (sum <= T) {
- ret = max(ret, __builtin_popcount(bit));
- }
- }
- return ret;
- }
8/13/2013
SRM588 Div2 Medium
500
登録:
コメントの投稿
(
Atom
)
0 件のコメント :
コメントを投稿