Submission #66890548
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
void solve() {
int n; ll w;
cin >> n >> w;
const int M = 60;
vector<vector<ll>> vals(M+1);
for (int i = 0; i < n; i++) {
int x, y;
cin >> x >> y;
vals[x].push_back(y);
}
ll ans = 0;
for (int i = 0; i < M; i++) {
vals[i].push_back(0); vals[i].push_back(0);
sort(vals[i].begin(), vals[i].end());
if (w&1) {
ans += vals[i].back();
vals[i].pop_back();
}
if (vals[i].size()%2 == 1) vals[i].push_back(0);
sort(vals[i].begin(), vals[i].end());
for (int j = 0; j < vals[i].size(); j += 2) {
vals[i+1].push_back(vals[i][j] + vals[i][j+1]);
}
w >>= 1;
}
cout << ans << '\n';
}
int main() {
int T;
cin >> T;
while (T--) solve();
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | B - Binary Knapsack |
| User | admin |
| Language | C++ 20 (gcc 12.2) |
| Score | 500 |
| Code Size | 838 Byte |
| Status | AC |
| Exec Time | 742 ms |
| Memory | 7092 KiB |
Compile Error
Main.cpp: In function ‘void solve()’:
Main.cpp:27:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<long long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
27 | for (int j = 0; j < vals[i].size(); j += 2) {
| ~~^~~~~~~~~~~~~~~~
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 500 / 500 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample-01.txt |
| All | 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 03-01.txt, 03-02.txt, 03-03.txt, 03-04.txt, 03-05.txt, 03-06.txt, 03-07.txt, hand-01.txt, sample-01.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 01-01.txt | AC | 742 ms | 3428 KiB |
| 01-02.txt | AC | 143 ms | 3424 KiB |
| 01-03.txt | AC | 76 ms | 3472 KiB |
| 01-04.txt | AC | 70 ms | 3516 KiB |
| 01-05.txt | AC | 90 ms | 3828 KiB |
| 01-06.txt | AC | 99 ms | 7036 KiB |
| 01-07.txt | AC | 100 ms | 7088 KiB |
| 01-08.txt | AC | 409 ms | 3424 KiB |
| 01-09.txt | AC | 103 ms | 3452 KiB |
| 01-10.txt | AC | 69 ms | 3536 KiB |
| 01-11.txt | AC | 75 ms | 3884 KiB |
| 01-12.txt | AC | 76 ms | 6992 KiB |
| 01-13.txt | AC | 78 ms | 7072 KiB |
| 01-14.txt | AC | 73 ms | 3896 KiB |
| 01-15.txt | AC | 79 ms | 6996 KiB |
| 01-16.txt | AC | 79 ms | 7092 KiB |
| 02-01.txt | AC | 76 ms | 3492 KiB |
| 02-02.txt | AC | 92 ms | 3648 KiB |
| 02-03.txt | AC | 98 ms | 7052 KiB |
| 02-04.txt | AC | 96 ms | 7092 KiB |
| 02-05.txt | AC | 60 ms | 3784 KiB |
| 02-06.txt | AC | 79 ms | 6992 KiB |
| 02-07.txt | AC | 51 ms | 6892 KiB |
| 02-08.txt | AC | 73 ms | 3732 KiB |
| 02-09.txt | AC | 81 ms | 6652 KiB |
| 02-10.txt | AC | 79 ms | 6996 KiB |
| 03-01.txt | AC | 78 ms | 6640 KiB |
| 03-02.txt | AC | 78 ms | 6512 KiB |
| 03-03.txt | AC | 77 ms | 6544 KiB |
| 03-04.txt | AC | 63 ms | 7088 KiB |
| 03-05.txt | AC | 77 ms | 7012 KiB |
| 03-06.txt | AC | 52 ms | 6920 KiB |
| 03-07.txt | AC | 76 ms | 6632 KiB |
| hand-01.txt | AC | 1 ms | 3512 KiB |
| sample-01.txt | AC | 1 ms | 3512 KiB |