QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#343849 | #7744. Elevator | ucup-team992# | WA | 108ms | 5328kb | C++20 | 1014b | 2024-03-03 06:57:21 | 2024-03-03 06:57:21 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
#define ll long long
int main() {
int T; cin >> T;
for(int t = 0; t < T; t++) {
ll N, K; cin >> N >> K;
vector<pair<ll,ll>> W1, W2;
for(int i = 0; i < N; i++) {
int C,W,F; cin >> C >> W >> F;
if(W == 1) W1.push_back({F,C});
else W2.push_back({F,C});
}
sort(W1.begin(), W1.end());
for(int j = W1.size()-1; j >= 0; j--) {
ll cj = (W1[j].second + 1)/2;
if(cj > 0) W2.push_back({W1[j].first, cj});
if(W1[j].second % 2) {
if(j-1 > 0) W1[j-1].second--;
}
}
sort(W2.begin(), W2.end());
ll R = 0;
K /= 2;
while(W2.size()) {
R += (W2.back().second/K)*W2.back().first;
W2.back().second %= K;
if(W2.back().second) {
R += W2.back().first;
ll g = K;
while(g>0 && W2.size()) {
ll m = min(g, W2.back().second);
g -= m;
W2.back().second -= m;
if(!W2.back().second) W2.pop_back();
}
} else W2.pop_back();
}
cout << R << endl;
}
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3860kb
input:
2 4 6 1 1 8 7 2 5 1 1 7 3 2 6 8 1200000 100000 1 100000 100000 1 12345 100000 2 100000 100000 2 12345 100000 1 100000 100000 1 12345 100000 2 100000 100000 2 12345
output:
24 100000
result:
ok 2 lines
Test #2:
score: -100
Wrong Answer
time: 108ms
memory: 5328kb
input:
5501 8 104 5 2 3 6 2 4 5 2 3 6 2 9 8 2 4 2 1 3 7 2 4 8 2 8 1 290 3 1 1 12 12 6 1 2 1 2 2 1 1 2 1 2 4 6 1 1 1 2 5 6 1 4 4 1 4 6 2 4 6 2 5 4 2 5 4 1 4 5 334 1 1 4 1 2 3 4 2 1 5 1 1 2 1 2 13 218 5 2 3 5 1 4 1 2 1 1 2 5 3 2 2 1 1 3 4 2 2 1 2 5 2 2 1 2 1 5 3 2 1 5 2 1 1 1 4 10 260 7 2 1 5 1 1 5 2 4 6 1 6...
output:
9 1 23 4 5 7 1 3 9 6 1 10 4 9 17 6 4 1 8 5 5 7 1 3 23 6 3 3 2 2 2 3 8 1 5 6 9 11 147 7 10 2 7 7 8 6 5 5 1 7 3 5 10 7 7 10 8 1 4 2 3 9 1 5 2 9 1 6 7 7 6 10 18 8 10 4 10 9 2 8 3 5 9 3 6 5 3 2 6 1 3 2 2 1 6 9 6 3 4 8 9 9 2 6 1 2 6 7 5 2 5 21 8 1 2 3 4 9 3 4 6 5 9 6 1 7 3 7 3 2 2 8 7 3 5 9 7 10 7 3 2 4 ...
result:
wrong answer 191st lines differ - expected: '21', found: '22'