QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#543176#7678. The GameAmiyaCastWA 1ms5664kbC++141.7kb2024-09-01 14:45:132024-09-01 14:45:16

Judging History

你现在查看的是最新测评结果

  • [2024-09-01 14:45:16]
  • 评测
  • 测评结果:WA
  • 用时:1ms
  • 内存:5664kb
  • [2024-09-01 14:45:13]
  • 提交

answer

#include<bits/stdc++.h>
#define ll long long
#define int long long
#define pii make_pair
#define pb push_back
#define rep(i,a,b) for(int i=a;i<=b;++i)
#define per(i,b,a) for(int i=b;i>=a;--i)
const ll inf = 1145141919810;
using namespace std;
inline ll read() {
	ll x=0,f=1;
	char c=getchar();
	while (c<'0' || c>'9') {
		if (c=='-')  f=-1;
		c=getchar();
	}
	while (c>='0' && c<='9') {
		x=x*10+c-'0';
		c=getchar();
	}
	return x*f;
}
inline void print(ll x) {
	if(x < 0) putchar('-'), x = -x;
	if(x > 9) print(x / 10);
	putchar(x % 10 + '0');
	return ;
}
inline void pprint(ll x) {
	print(x);
	puts("");
}
const int N = 2e5 + 7;
ll a[N], b[N];
bool cmp(ll x, ll y){
	return x > y;
}
void slv() {
	int n = read(), m = read();
	rep(i, 1, n) a[i] = read();
	rep(i, 1, m) b[i] = read();
	sort(a + 1, a + 1 + n, cmp);
	sort(b + 1, b + 1 + m, cmp);
	if(n < m){
		puts("-1");
		return ;
	}
	vector<int> q;
	ll rst = n - m;
	rep(i, 1, m){
		if(a[i] > b[i]){
			puts("-1");
			return ;
		}
		if(b[i] - a[i] <= rst){
			rep(j, a[i], b[i] - 1){
				q.pb(j);
			}
			rst -= b[i] - a[i];
		}else{
			puts("-1");
			return ;
		}
	}
//	cout << "rst = " << rst << endl;
	priority_queue<ll> _q;
	for(int i = n; i >= 1 && rst > 0; rst--, i--){
		if(a[i] >= b[m]){
			puts("-1");
			return ;
		}
		q.pb(a[i]);
		_q.push(-a[i]);
	}
	while(_q.size()){
		ll x = -_q.top();
		if(x >= b[m]){
			puts("-1");
			return ;
		}
		_q.pop();
		x++;
		_q.push(-x);
		_q.pop();
	}
	pprint(q.size());
	for(auto x:q){
		print(x); putchar(' ');
	}
	puts("");
}
signed main() {
	int T = read();
	while(T--) {
		slv();
	}
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 0
Wrong Answer
time: 1ms
memory: 5664kb

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
3 1 
-1
3
4 4 2 
5
1 2 3 1 1 
2
1 1 
-1

result:

wrong answer Wrong answer, erase a number that does not exist (test case 1)