QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#244155 | #7678. The Game | ucup-team1266 | WA | 6ms | 3840kb | C++20 | 1.7kb | 2023-11-08 21:38:01 | 2023-11-08 21:38:03 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
#define endl '\n'
#define yes cout << "YES\n"
#define no cout << "NO\n";
#define ll long long
#define ull unsigned long long
#define pii pair<int, int>
const int MAX = 3e5 + 10, inf = 2147483647, mod = 998244353;
void solve(){
int n, m;
cin >> n >> m;
vector<int> a(n), b(m);
for (int i = 0; i < n; ++ i) cin >> a[i];
for (int i = 0; i < m; ++ i) cin >> b[i];
sort(a.begin(), a.end(), greater<int>());
sort(b.begin(), b.end(), greater<int>());
multiset<int> s1;
multiset<pii> s2;
vector<int> ans;
ll d = 0;
bool flag = 0;
for (int i = 0; i < m; ++ i){
if (a[i] > b[i]) flag = 1;
d += b[i] - a[i];
}
if (flag or d > n - m){
cout << -1 << endl;
return;
}
for (int i = 0; i < m; ++ i){
if (a[i] != b[i]) s2.insert({a[i], b[i]});
}
for (int i = m; i < n; ++ i) s1.insert(a[i]);
for (int i = 0; i < n - m - d; ++ i){
while (not s2.empty() and *s1.begin() + 1 > s2.begin()->first){ //保证材料的安全
auto [x, y] = *s2.begin();
s2.erase({x, y});
ans.push_back(x);
x ++;
if (x != y) s2.insert({x, y});
s1.erase(s1.begin());
}
if (s1.empty() or *s1.begin() + 1 > b.back()){//无法再删或者要把材料删掉
cout << -1 << endl;
return;
}
//消耗冗余
int t = *s1.begin();
ans.push_back(t);
s1.erase(s1.begin());
s1.insert(t + 1);
s1.erase(s1.begin());
}
for (auto [x, y]: s2){
for (int i = x; i < y; ++ i) ans.push_back(i);
}
cout << ans.size() << endl;
for (int x: ans) cout << x << ' ';
cout << endl;
}
int main(){
ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
//cout << fixed << setprecision(6);
int _;cin>>_;while (_ --)
solve();
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3840kb
input:
6 5 3 1 2 2 3 3 2 3 4 4 2 1 2 2 4 2 4 5 2 2 3 3 4 4 5 5 6 1 1 1 1 1 1 1 4 4 2 1 1 1 2 2 2 4 1 1 1 1 1 2
output:
2 1 3 -1 3 2 4 4 5 1 1 1 2 3 2 1 1 -1
result:
ok ok (6 test cases)
Test #2:
score: 0
Accepted
time: 3ms
memory: 3828kb
input:
7056 4 3 1 1 1 1 1 1 1 4 3 1 1 1 1 1 1 2 4 3 1 1 1 1 1 1 3 4 3 1 1 1 1 1 1 4 4 3 1 1 1 1 1 1 5 4 3 1 1 1 1 1 1 6 4 3 1 1 1 1 1 2 2 4 3 1 1 1 1 1 2 3 4 3 1 1 1 1 1 2 4 4 3 1 1 1 1 1 2 5 4 3 1 1 1 1 1 2 6 4 3 1 1 1 1 1 3 3 4 3 1 1 1 1 1 3 4 4 3 1 1 1 1 1 3 5 4 3 1 1 1 1 1 3 6 4 3 1 1 1 1 1 4 4 4 3 1 1...
output:
-1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 2 -1 -1 -1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 ...
result:
ok ok (7056 test cases)
Test #3:
score: 0
Accepted
time: 3ms
memory: 3560kb
input:
5880 4 2 1 1 1 1 1 1 4 2 1 1 1 1 1 2 4 2 1 1 1 1 1 3 4 2 1 1 1 1 1 4 4 2 1 1 1 1 1 5 4 2 1 1 1 1 1 6 4 2 1 1 1 1 1 7 4 2 1 1 1 1 2 2 4 2 1 1 1 1 2 3 4 2 1 1 1 1 2 4 4 2 1 1 1 1 2 5 4 2 1 1 1 1 2 6 4 2 1 1 1 1 2 7 4 2 1 1 1 1 3 3 4 2 1 1 1 1 3 4 4 2 1 1 1 1 3 5 4 2 1 1 1 1 3 6 4 2 1 1 1 1 3 7 4 2 1 1...
output:
-1 -1 2 1 2 -1 -1 -1 -1 2 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 2 3 -1 -1 -1 2 1 1 2 1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 3 4 -1 -1 -1 2 1 1 2 1 3 -1 -1 -1 2 1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 ...
result:
ok ok (5880 test cases)
Test #4:
score: 0
Accepted
time: 1ms
memory: 3528kb
input:
2640 4 1 1 1 1 1 1 4 1 1 1 1 1 2 4 1 1 1 1 1 3 4 1 1 1 1 1 4 4 1 1 1 1 1 5 4 1 1 1 1 1 6 4 1 1 1 1 1 7 4 1 1 1 1 1 8 4 1 1 1 1 2 1 4 1 1 1 1 2 2 4 1 1 1 1 2 3 4 1 1 1 1 2 4 4 1 1 1 1 2 5 4 1 1 1 1 2 6 4 1 1 1 1 2 7 4 1 1 1 1 2 8 4 1 1 1 1 3 1 4 1 1 1 1 3 2 4 1 1 1 1 3 3 4 1 1 1 1 3 4 4 1 1 1 1 3 5 4...
output:
-1 -1 3 1 1 2 3 1 2 3 -1 -1 -1 -1 -1 -1 3 1 1 2 3 1 2 3 3 2 3 4 -1 -1 -1 -1 -1 3 1 1 2 3 1 1 3 3 1 3 4 3 3 4 5 -1 -1 -1 -1 -1 3 1 1 2 3 1 1 4 3 1 4 5 3 4 5 6 -1 -1 -1 -1 -1 3 1 1 2 3 1 1 5 3 1 5 6 3 5 6 7 -1 -1 -1 -1 -1 3 1 1 2 3 1 1 6 3 1 6 7 -1 -1 -1 -1 -1 -1 3 1 1 2 3 1 1 7 ...
result:
ok ok (2640 test cases)
Test #5:
score: 0
Accepted
time: 6ms
memory: 3524kb
input:
14112 5 3 1 1 1 1 1 1 1 1 5 3 1 1 1 1 1 1 1 2 5 3 1 1 1 1 1 1 1 3 5 3 1 1 1 1 1 1 1 4 5 3 1 1 1 1 1 1 1 5 5 3 1 1 1 1 1 1 1 6 5 3 1 1 1 1 1 1 2 2 5 3 1 1 1 1 1 1 2 3 5 3 1 1 1 1 1 1 2 4 5 3 1 1 1 1 1 1 2 5 5 3 1 1 1 1 1 1 2 6 5 3 1 1 1 1 1 1 3 3 5 3 1 1 1 1 1 1 3 4 5 3 1 1 1 1 1 1 3 5 5 3 1 1 1 1 1 ...
output:
-1 -1 2 1 2 -1 -1 -1 2 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 2 3 -1 -1 -1 2 1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -...
result:
ok ok (14112 test cases)
Test #6:
score: -100
Wrong Answer
time: 3ms
memory: 3532kb
input:
5292 5 2 1 1 1 1 1 1 1 5 2 1 1 1 1 1 1 2 5 2 1 1 1 1 1 1 3 5 2 1 1 1 1 1 1 4 5 2 1 1 1 1 1 1 5 5 2 1 1 1 1 1 1 6 5 2 1 1 1 1 1 2 2 5 2 1 1 1 1 1 2 3 5 2 1 1 1 1 1 2 4 5 2 1 1 1 1 1 2 5 5 2 1 1 1 1 1 2 6 5 2 1 1 1 1 1 3 3 5 2 1 1 1 1 1 3 4 5 2 1 1 1 1 1 3 5 5 2 1 1 1 1 1 3 6 5 2 1 1 1 1 1 4 4 5 2 1 1...
output:
-1 -1 -1 3 1 2 3 -1 -1 2 1 1 3 1 1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 3 2 3 4 -1 -1 3 1 1 2 3 1 2 3 -1 -1 3 1 2 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 3 3 4 5 -1 -1 3 1 1 3 3 1 3 4 -1 3 1 1 2 3 1 2 3 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 3 1 1 4 3 1 4...
result:
wrong answer Wrong answer, number of operation is not correct (test case 7)