QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#809944 | #9873. Last Chance: Threads of Despair | YUKII | WA | 0ms | 3632kb | C++14 | 2.0kb | 2024-12-11 18:26:33 | 2024-12-11 18:26:42 |
Judging History
answer
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
using ll = unsigned long long;
int main() {
char const* yes = "Yes", * no = "No";
int n, size1, size2, temp, deadline, hurt;
vector<int> vec1, vec2;
cin >> n;
while (n--) {
cin >> size1 >> size2;
for (int i = 0; i < size1; ++i) {
cin >> temp;
vec1.push_back(temp);
}
for (int i = 0; i < size2; ++i) {
cin >> temp;
vec2.push_back(temp);
}
sort(vec1.begin(), vec1.end());
sort(vec2.begin(), vec2.end());
hurt = size1 + 1;
deadline = 0;
int idx1 = 0, idx2 = 0;
while (idx1 < size1 && vec1[idx1] == 1) {
--hurt, ++deadline, ++idx1;
}
while (idx1 < size1 && vec1[idx1] <= deadline) {
++idx1, ++deadline;
}
while (idx2 < size2 && vec2[idx2] <= deadline) {
++idx2, ++deadline;
}
if (idx2 == size2) {
cout << yes << endl;
continue;;
}
if (idx1) {
--vec2[idx2];
}
int curIdx1 = idx1;
while (hurt) {
while (idx1 < size1 && vec1[idx1] <= deadline) {
++idx1, ++curIdx1, ++deadline;
}
while (idx2 < size2 && vec2[idx2] <= deadline) {
++idx2, ++deadline;
}
if (idx2 < size2 && idx1 < size1 && curIdx1 < size1) {
--vec1[curIdx1], --vec2[idx2], ++curIdx1;
}
--hurt;
}
while (idx1 < size1 && vec1[idx1] <= deadline) {
++idx1, ++curIdx1, ++deadline;
}
while (idx2 < size2 && vec2[idx2] <= deadline) {
++idx2, ++deadline;
}
if (idx2 == size2) {
cout << yes << endl;
} else {
cout << no << endl;
}
vec1.clear(), vec2.clear();
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3588kb
input:
3 3 2 1 1 4 2 6 3 2 1 1 4 2 7 2 1 100 100 2
output:
Yes No Yes
result:
ok 3 token(s): yes count is 2, no count is 1
Test #2:
score: 0
Accepted
time: 0ms
memory: 3532kb
input:
3 7 1 1 1 1 1 1 1 1 9 5 2 3 4 5 6 7 1 6 5 3 3 4 5 6 7 1 5 7
output:
No No Yes
result:
ok 3 token(s): yes count is 1, no count is 2
Test #3:
score: -100
Wrong Answer
time: 0ms
memory: 3632kb
input:
4 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 2
output:
Yes Yes Yes Yes
result:
wrong answer expected NO, found YES [4th token]