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
AC × 1
AC × 35
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