QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#748048 | #6135. Books | tassei903# | WA | 132ms | 4532kb | C++20 | 1.4kb | 2024-11-14 19:10:12 | 2024-11-14 19:10:12 |
Judging History
answer
#include <bits/stdc++.h>
#define rep(i, l, r) for(int i = (int)l; i < (int)r; i++)
#define all(v) v.begin(), v.end()
#define sz(v) (int)v.size()
using namespace std;
using ll = long long;
using pll = pair<ll, ll>;
using pii = pair<int, int>;
using ld = long double;
typedef vector<ll> vl;
typedef vector<int> vi;
template<class T>
void out(const vector<T> &v) {
for (auto x: v)cout << x << " ";
cout << endl;
}
vector<int> f = {1, 0, 0, 0, 1, 0, 1, 0, 2, 1};
const ll linf = 1e9 + 10;
void solve() {
int n, m; cin >> n >> m;
vector<ll> a(n);for(auto &x: a) cin >> x;
ll ok = -1, ng = linf;
auto f = [&](ll x) {
int cnt = 0;
rep(i, 0, n) {
if (x >= a[i]) {
x -= a[i];
cnt += 1;
}
}
return cnt;
};
while(abs(ok - ng) > 1) {
ll mid = (ok + ng) / 2;
if (f(mid) <= m) {
ok = mid;
}
else {
ng = mid;
}
}
if (ok == linf - 1) {
cout << "Richman" << endl;
}
else if (f(ok) == m) {
cout << ok << endl;
}
else {
cout << "Impossible" << endl;
}
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int T; cin >> T;
while(T--) {
solve();
}
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3788kb
input:
4 4 2 1 2 4 8 4 0 100 99 98 97 2 2 10000 10000 5 3 0 0 0 0 1
output:
6 96 Richman Impossible
result:
ok 4 lines
Test #2:
score: -100
Wrong Answer
time: 132ms
memory: 4532kb
input:
10012 1 0 2 3 2 0 1 0 2 1 0 0 100000 99999 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000...
output:
1 0 Impossible Richman 38 56 Richman 97 460 Richman 24 50 98 30 15 Richman Richman Richman 54 Richman Richman 450 24 44 349 34 513 28 99 297 Richman Richman Richman 66 274 2 160 76 58 91 71 3 Richman 125 32 15 Richman 21 26 Richman 30 Richman 247 356 Richman Richman 60 312 62 276 Richman 67 Richman ...
result:
wrong answer 4th lines differ - expected: '99999999999999', found: 'Richman'