QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#246454#7678. The GamefAKeZero#WA 5ms6012kbC++172.8kb2023-11-10 20:32:412023-11-10 20:32:42

Judging History

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

  • [2023-11-10 20:32:42]
  • 评测
  • 测评结果:WA
  • 用时:5ms
  • 内存:6012kb
  • [2023-11-10 20:32:41]
  • 提交

answer

#include <bits/stdc++.h>
/*
5 2
1 100 100 100 100
101 101
*/
template<class _Tp = int>
_Tp read() {
  _Tp ret = 0;
  char ch = getchar(), sgn = 0;
  while (!isdigit(ch)) sgn |= ch == '-', ch = getchar();
  while (isdigit(ch)) ret = ret * 10 + ch - '0', ch = getchar();
  return sgn ? -ret : ret;
}

const int kMaxN = 3e5 + 5;
int n, m, L;
long long dis;
int a[kMaxN], b[kMaxN];
std::vector<int> ans;

void clear() {

}
bool solve() {
  ans.clear();
  std::multiset<int> S;
  for (int i = m + 1; i <= n; i++)
    S.insert(a[i]);
  int x = m, y = 0;
  while (x && a[x] == a[m]) x--;
  x = m - x;
  // while (y <= n && a[y] == a[m]) y++;
  // y = y - m - 1;
  // DON'T DO THAT
  int r = L - dis;
  while (r > 0) {
    // fprintf(stderr, "ROUND\n");
    if (S.empty())
      return false;
    int c = *S.begin();
    if (c == b[m])
      return false;
    if (c == a[m]) {
    // qiong tu mo lu le
    // cong y li xi sheng x ge am
      // printf("? x%d y%d r%d r+dis%d \n", x, y, r, r + dis);
      y = S.count(a[m]);
      if (y < r + dis || x > y)
        return false;
      else {
        for (int i = 1; i <= x; i++)
          ans.push_back(a[m]);
        for (int i = m - x + 1; i <= m; i++)
          a[i]++;
        for (int i = 1; i <= x; i++)
          S.erase(S.begin());
        // update x
        x = m - x;
        while (x && a[x] == a[m])
          x--;
        x = m - x;
      }
      continue;
    }
    ans.push_back(c);
    S.erase(S.begin());
    S.insert(c + 1);
    S.erase(S.begin());
    r--;
  }
  for (int i = 1; i <= m; i++)
    while (a[i] < b[i])
      ans.push_back(a[i]), a[i]++;
  // print_ans();
  // fprintf(stderr, "HELLO : L%d ans.size() %d\n", L, ans.size());
  // for (auto i : ans)
  //   fprintf(stderr, "ans %d \n", i);
  assert(ans.size() == n - m);
  return true;
}


int main() {
  int T = read();
  while (T--) {
    n = read(), m = read();
    L = n - m;
    for (int i = 1; i <= n; i++)
      a[i] = read();
    for (int i = 1; i <= m; i++)
      b[i] = read();
    std::sort(a + 1, a + n + 1, std::greater<int>());
    std::sort(b + 1, b + m + 1, std::greater<int>());
    dis = 0;
    for (int i = 1; i <= m; i++) {
      if (a[i] > b[i]) {
        puts("-1");
        goto end_of_loop;
      }
      dis += b[i] - a[i];
    }
    // fprintf(stderr, "dis %d?\n", dis);
    if (dis > L) {
      puts("-1");
      goto end_of_loop;
    } 
    if (solve()) {
      printf("%d\n", L);
      for (auto i : ans)
        printf("%d ", i);
      puts("");
    } else 
      puts("-1");
    end_of_loop:
      clear();
  }
}

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

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3796kb

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: 2ms
memory: 3716kb

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: 1ms
memory: 4004kb

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
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
2
3 4 
-1
-1
-1
2
1 1 
2
3 1 
-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: 3784kb

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: 3ms
memory: 3972kb

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
2 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
-...

result:

ok ok (14112 test cases)

Test #6:

score: 0
Accepted
time: 1ms
memory: 3740kb

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

result:

ok ok (5292 test cases)

Test #7:

score: 0
Accepted
time: 0ms
memory: 3708kb

input:

3234
5 1
1 1 1 1 1
1
5 1
1 1 1 1 1
2
5 1
1 1 1 1 1
3
5 1
1 1 1 1 1
4
5 1
1 1 1 1 1
5
5 1
1 1 1 1 1
6
5 1
1 1 1 1 1
7
5 1
1 1 1 1 2
1
5 1
1 1 1 1 2
2
5 1
1 1 1 1 2
3
5 1
1 1 1 1 2
4
5 1
1 1 1 1 2
5
5 1
1 1 1 1 2
6
5 1
1 1 1 1 2
7
5 1
1 1 1 1 3
1
5 1
1 1 1 1 3
2
5 1
1 1 1 1 3
3
5 1
1 1 1 1 3
4
5 1
1 1...

output:

-1
-1
4
1 1 1 2 
4
1 1 2 3 
4
1 2 3 4 
-1
-1
-1
-1
4
1 1 2 2 
4
1 1 2 3 
4
1 2 3 4 
4
2 3 4 5 
-1
-1
-1
-1
4
1 1 2 3 
4
1 1 3 4 
4
1 3 4 5 
4
3 4 5 6 
-1
-1
-1
4
1 1 2 3 
4
1 1 2 4 
4
1 1 4 5 
4
1 4 5 6 
-1
-1
-1
-1
4
1 1 2 3 
4
1 1 2 5 
4
1 1 5 6 
-1
-1
-1
-1
-1
4
1 1 2 3 
4
1 1 2 6 
-1
-1
-1
-1
-1...

result:

ok ok (3234 test cases)

Test #8:

score: 0
Accepted
time: 1ms
memory: 3808kb

input:

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

result:

ok ok (8820 test cases)

Test #9:

score: 0
Accepted
time: 5ms
memory: 4072kb

input:

26460
6 5
1 1 1 1 1 1
1 1 1 1 1
6 5
1 1 1 1 1 1
1 1 1 1 2
6 5
1 1 1 1 1 1
1 1 1 1 3
6 5
1 1 1 1 1 1
1 1 1 1 4
6 5
1 1 1 1 1 1
1 1 1 1 5
6 5
1 1 1 1 1 1
1 1 1 2 2
6 5
1 1 1 1 1 1
1 1 1 2 3
6 5
1 1 1 1 1 1
1 1 1 2 4
6 5
1 1 1 1 1 1
1 1 1 2 5
6 5
1 1 1 1 1 1
1 1 1 3 3
6 5
1 1 1 1 1 1
1 1 1 3 4
6 5
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
-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 (26460 test cases)

Test #10:

score: 0
Accepted
time: 4ms
memory: 3724kb

input:

50000
6 4
1 1 1 1 1 1
1 1 1 1
6 4
1 1 1 1 1 1
1 1 1 2
6 4
1 1 1 1 1 1
1 1 1 3
6 4
1 1 1 1 1 1
1 1 1 4
6 4
1 1 1 1 1 1
1 1 1 5
6 4
1 1 1 1 1 1
1 1 1 6
6 4
1 1 1 1 1 1
1 1 2 2
6 4
1 1 1 1 1 1
1 1 2 3
6 4
1 1 1 1 1 1
1 1 2 4
6 4
1 1 1 1 1 1
1 1 2 5
6 4
1 1 1 1 1 1
1 1 2 6
6 4
1 1 1 1 1 1
1 1 3 3
6 4
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
-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 (50000 test cases)

Test #11:

score: 0
Accepted
time: 4ms
memory: 3796kb

input:

25872
6 3
1 1 1 1 1 1
1 1 1
6 3
1 1 1 1 1 1
1 1 2
6 3
1 1 1 1 1 1
1 1 3
6 3
1 1 1 1 1 1
1 1 4
6 3
1 1 1 1 1 1
1 1 5
6 3
1 1 1 1 1 1
1 1 6
6 3
1 1 1 1 1 1
1 2 2
6 3
1 1 1 1 1 1
1 2 3
6 3
1 1 1 1 1 1
1 2 4
6 3
1 1 1 1 1 1
1 2 5
6 3
1 1 1 1 1 1
1 2 6
6 3
1 1 1 1 1 1
1 3 3
6 3
1 1 1 1 1 1
1 3 4
6 3
1 1 ...

output:

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

result:

ok ok (25872 test cases)

Test #12:

score: 0
Accepted
time: 4ms
memory: 6012kb

input:

25872
6 2
1 1 1 1 1 1
1 1
6 2
1 1 1 1 1 1
1 2
6 2
1 1 1 1 1 1
1 3
6 2
1 1 1 1 1 1
1 4
6 2
1 1 1 1 1 1
1 5
6 2
1 1 1 1 1 1
1 6
6 2
1 1 1 1 1 1
1 7
6 2
1 1 1 1 1 1
2 2
6 2
1 1 1 1 1 1
2 3
6 2
1 1 1 1 1 1
2 4
6 2
1 1 1 1 1 1
2 5
6 2
1 1 1 1 1 1
2 6
6 2
1 1 1 1 1 1
2 7
6 2
1 1 1 1 1 1
3 3
6 2
1 1 1 1 1 ...

output:

-1
-1
-1
-1
4
1 2 3 4 
-1
-1
-1
4
1 1 1 2 
4
1 2 3 1 
-1
-1
-1
4
1 2 1 2 
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
4
2 3 4 5 
-1
-1
4
1 1 1 2 
4
1 1 2 3 
4
2 3 4 1 
-1
-1
4
1 1 2 2 
4
2 3 1 2 
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
4
3 4 5 6 
-1
-1
4
1 1 1 3 
4
1 1 ...

result:

ok ok (25872 test cases)

Test #13:

score: -100
Wrong Answer
time: 3ms
memory: 3712kb

input:

13728
6 1
1 1 1 1 1 1
1
6 1
1 1 1 1 1 1
2
6 1
1 1 1 1 1 1
3
6 1
1 1 1 1 1 1
4
6 1
1 1 1 1 1 1
5
6 1
1 1 1 1 1 1
6
6 1
1 1 1 1 1 1
7
6 1
1 1 1 1 1 1
8
6 1
1 1 1 1 1 2
1
6 1
1 1 1 1 1 2
2
6 1
1 1 1 1 1 2
3
6 1
1 1 1 1 1 2
4
6 1
1 1 1 1 1 2
5
6 1
1 1 1 1 1 2
6
6 1
1 1 1 1 1 2
7
6 1
1 1 1 1 1 2
8
6 1
1 ...

output:

-1
-1
-1
5
1 1 1 2 3 
5
1 1 2 3 4 
5
1 2 3 4 5 
-1
-1
-1
-1
5
1 1 1 2 2 
5
1 1 1 2 3 
5
1 1 2 3 4 
5
1 2 3 4 5 
5
2 3 4 5 6 
-1
-1
-1
-1
5
1 1 1 2 3 
5
1 1 1 3 4 
5
1 1 3 4 5 
5
1 3 4 5 6 
5
3 4 5 6 7 
-1
-1
-1
5
1 1 1 2 3 
5
1 1 1 2 4 
5
1 1 1 4 5 
5
1 1 4 5 6 
5
1 4 5 6 7 
-1
-1
-1
-1
5
1 1 1 2 3 ...

result:

wrong answer Jury has answer but participant has not (test case 3)