QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#427576#8776. Not Another Constructive!ucup-team987#AC ✓96ms219212kbC++235.1kb2024-06-01 13:57:312024-06-01 13:57:31

Judging History

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

  • [2024-06-01 13:57:31]
  • 评测
  • 测评结果:AC
  • 用时:96ms
  • 内存:219212kb
  • [2024-06-01 13:57:31]
  • 提交

answer

#if __INCLUDE_LEVEL__ == 0

#include __BASE_FILE__

namespace {

void solve() {
  Int n, k;
  scan(n, k);
  Str s;
  scan(s);
  const Int m = n / 2 * (n - n / 2);
  Vec f(n + 1, Vec(n + 1, Vec<std::bitset<2501>>(m + 1)));
  f[n][0][0][0] = 1;
  for (const Int i : rev(rep(n))) {
    for (const Int c : rep(n + 1)) {
      for (const Int ac : rep(m + 1)) {
        if ((s[i] == 'C' || s[i] == '?') && c + 1 <= n) {
          f[i][c + 1][ac] |= f[i + 1][c][ac];
        }
        if ((s[i] == 'A' || s[i] == '?') && ac + c <= m) {
          f[i][c][ac + c] |= f[i + 1][c][ac];
        }
        if (s[i] == 'N' || s[i] == '?') {
          f[i][c][ac] |= f[i + 1][c][ac] << ac;
        }
        if (Str("NAC").find(s[i]) == Str::npos || s[i] == '?') {
          f[i][c][ac] |= f[i + 1][c][ac];
        }
      }
    }
  }
  for (Int c : rep(n + 1)) {
    for (Int ac : rep(m + 1)) {
      if (f[0][c][ac][k]) {
        for (const Int i : rep(n)) {
          assert(f[i][c][ac][k]);
          if ((s[i] == 'C' || s[i] == '?') && c && f[i + 1][c - 1][ac][k]) {
            s[i] = 'C';
            --c;
          } else if ((s[i] == 'A' || s[i] == '?') && c <= ac &&
                     f[i + 1][c][ac - c][k]) {
            s[i] = 'A';
            ac -= c;
          } else if ((s[i] == 'N' || s[i] == '?') && ac <= k &&
                     f[i + 1][c][ac][k - ac]) {
            s[i] = 'N';
            k -= ac;
          } else {
            if (s[i] == '?') {
              s[i] = 'X';
            }
          }
        }
        print(s);
        return;
      }
    }
  }
  print(-1);
}

}  // namespace

int main() {
  std::ios::sync_with_stdio(false);
  std::cin.tie(nullptr);
  std::cout << std::setprecision(std::numeric_limits<Float>::max_digits10);

  solve();
}

#else  // __INCLUDE_LEVEL__

#include <bits/stdc++.h>

using i8 = int8_t;
using i16 = int16_t;
using i32 = int32_t;
using i64 = int64_t;
using i128 = __int128_t;
using u8 = uint8_t;
using u16 = uint16_t;
using u32 = uint32_t;
using u64 = uint64_t;
using u128 = __uint128_t;

using Int = int64_t;
using Float = double;
using Str = std::string;

template <class T1, class T2>
using Pair = std::pair<T1, T2>;

template <class... Ts>
using Tuple = std::tuple<Ts...>;

template <class T, size_t N>
using Arr = std::array<T, N>;

template <class T>
using Vec = std::vector<T>;

template <class T>
using Set = std::set<T>;

template <class T>
using Multiset = std::multiset<T>;

template <class K, class T>
using Map = std::map<K, T>;

template <class T>
using MinHeap = std::priority_queue<T, Vec<T>, std::greater<T>>;

template <class T>
using MaxHeap = std::priority_queue<T>;

namespace ranges = std::ranges;
namespace views = std::views;

inline constexpr auto len = ranges::ssize;
inline constexpr auto rev = views::reverse;

constexpr auto rep(Int l, Int r) { return views::iota(std::min(l, r), r); }
constexpr auto rep(Int n) { return rep(0, n); }
constexpr auto rep1(Int l, Int r) { return rep(l, r + 1); }
constexpr auto rep1(Int n) { return rep(1, n + 1); }

template <class T, class U = T>
bool chmin(T& x, U&& y) {
  return y < x && (x = std::forward<U>(y), true);
}

template <class T, class U = T>
bool chmax(T& x, U&& y) {
  return x < y && (x = std::forward<U>(y), true);
}

template <std::signed_integral T = Int>
T inf() {
  T ret;
  std::memset(&ret, 0x3f, sizeof(ret));
  return ret;
}

template <std::floating_point T>
T inf() {
  return std::numeric_limits<T>::infinity();
}

template <class T>
concept Range = ranges::range<T> && !std::convertible_to<T, std::string_view>;

template <class T>
concept TupleLike = std::__is_tuple_like<T>::value && !Range<T>;

namespace std {

istream& operator>>(istream& is, Range auto&& r) {
  for (auto&& e : r) {
    is >> e;
  }
  return is;
}

istream& operator>>(istream& is, TupleLike auto&& t) {
  return apply([&](auto&... xs) -> istream& { return (is >> ... >> xs); }, t);
}

ostream& operator<<(ostream& os, Range auto&& r) {
  for (string_view sep = ""; auto&& e : r) {
    os << exchange(sep, " ") << e;
  }
  return os;
}

ostream& operator<<(ostream& os, TupleLike auto&& t) {
  const auto f = [&](auto&... xs) -> ostream& {
    [[maybe_unused]] string_view sep = "";
    ((os << exchange(sep, " ") << xs), ...);
    return os;
  };
  return apply(f, t);
}

}  // namespace std

#define DEF_INC_OR_DEC(op) \
  auto& operator op(Range auto&& r) { \
    for (auto&& e : r) { \
      op e; \
    } \
    return r; \
  } \
  auto& operator op(TupleLike auto&& t) { \
    std::apply([](auto&... xs) { (op xs, ...); }, t); \
    return t; \
  }

DEF_INC_OR_DEC(++)
DEF_INC_OR_DEC(--)

#undef DEF_INC_OR_DEC

void scan(auto&&... xs) { std::cin >> std::tie(xs...); }
void print(auto&&... xs) { std::cout << std::tie(xs...) << '\n'; }

template <class F>
class fix {
 public:
  explicit fix(F f) : f_(std::move(f)) {}

  decltype(auto) operator()(auto&&... xs) const {
    return f_(std::ref(*this), std::forward<decltype(xs)>(xs)...);
  }

 private:
  F f_;
};

#endif  // __INCLUDE_LEVEL__

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 7ms
memory: 24228kb

input:

22 2
N??A??????C???????????

output:

NNXANNNNNNCAAAAAAAAAAA

result:

ok correct

Test #2:

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

input:

18 0
COUNTINGSATELLITES

output:

COUNTINGSATELLITES

result:

ok correct

Test #3:

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

input:

2 1
??

output:

-1

result:

ok correct

Test #4:

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

input:

1 0
?

output:

A

result:

ok correct

Test #5:

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

input:

1 0
N

output:

N

result:

ok correct

Test #6:

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

input:

1 0
X

output:

X

result:

ok correct

Test #7:

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

input:

1 1
?

output:

-1

result:

ok correct

Test #8:

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

input:

1 1
N

output:

-1

result:

ok correct

Test #9:

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

input:

1 1
X

output:

-1

result:

ok correct

Test #10:

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

input:

2 0
??

output:

AA

result:

ok correct

Test #11:

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

input:

2 0
N?

output:

NA

result:

ok correct

Test #12:

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

input:

2 0
?C

output:

NC

result:

ok correct

Test #13:

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

input:

2 1
N?

output:

-1

result:

ok correct

Test #14:

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

input:

2 1
?C

output:

-1

result:

ok correct

Test #15:

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

input:

3 1
???

output:

NAC

result:

ok correct

Test #16:

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

input:

3 1
N??

output:

NAC

result:

ok correct

Test #17:

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

input:

3 1
?A?

output:

NAC

result:

ok correct

Test #18:

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

input:

3 1
??C

output:

NAC

result:

ok correct

Test #19:

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

input:

3 1
NA?

output:

NAC

result:

ok correct

Test #20:

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

input:

3 1
N?C

output:

NAC

result:

ok correct

Test #21:

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

input:

3 1
?AC

output:

NAC

result:

ok correct

Test #22:

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

input:

4 1
????

output:

NACA

result:

ok correct

Test #23:

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

input:

4 1
X???

output:

XNAC

result:

ok correct

Test #24:

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

input:

4 1
???Z

output:

NACZ

result:

ok correct

Test #25:

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

input:

4 1
?AA?

output:

-1

result:

ok correct

Test #26:

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

input:

4 1
N???

output:

NACA

result:

ok correct

Test #27:

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

input:

4 1
?N??

output:

XNAC

result:

ok correct

Test #28:

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

input:

4 1
??N?

output:

NANC

result:

ok correct

Test #29:

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

input:

4 1
???N

output:

NACN

result:

ok correct

Test #30:

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

input:

4 1
A???

output:

ANAC

result:

ok correct

Test #31:

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

input:

4 1
?A??

output:

NACA

result:

ok correct

Test #32:

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

input:

4 1
??A?

output:

NXAC

result:

ok correct

Test #33:

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

input:

4 1
???A

output:

NACA

result:

ok correct

Test #34:

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

input:

4 1
C???

output:

CNAC

result:

ok correct

Test #35:

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

input:

4 1
?C??

output:

NCAC

result:

ok correct

Test #36:

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

input:

4 1
??C?

output:

NACA

result:

ok correct

Test #37:

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

input:

4 1
???C

output:

NANC

result:

ok correct

Test #38:

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

input:

5 4
?????

output:

NNAAC

result:

ok correct

Test #39:

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

input:

6 14
??????

output:

-1

result:

ok correct

Test #40:

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

input:

7 14
???????

output:

-1

result:

ok correct

Test #41:

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

input:

8 43
????????

output:

-1

result:

ok correct

Test #42:

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

input:

9 55
?????????

output:

-1

result:

ok correct

Test #43:

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

input:

10 112
??????????

output:

-1

result:

ok correct

Test #44:

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

input:

11 110
???????????

output:

-1

result:

ok correct

Test #45:

score: 0
Accepted
time: 2ms
memory: 5548kb

input:

12 4
????????????

output:

NNNNACAAAAAA

result:

ok correct

Test #46:

score: 0
Accepted
time: 2ms
memory: 6124kb

input:

13 193
?????????????

output:

-1

result:

ok correct

Test #47:

score: 0
Accepted
time: 3ms
memory: 7200kb

input:

14 91
??????????????

output:

NNNNANAAACACCC

result:

ok correct

Test #48:

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

input:

15 15
???????????????

output:

NNNANNNNNNNNNAC

result:

ok correct

Test #49:

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

input:

16 261
????????????????

output:

-1

result:

ok correct

Test #50:

score: 0
Accepted
time: 3ms
memory: 11024kb

input:

17 514
?????????????????

output:

-1

result:

ok correct

Test #51:

score: 0
Accepted
time: 3ms
memory: 12828kb

input:

18 678
??????????????????

output:

-1

result:

ok correct

Test #52:

score: 0
Accepted
time: 9ms
memory: 15248kb

input:

19 40
???????????????????

output:

NNNNNNNNNNANNNNNAAC

result:

ok correct

Test #53:

score: 0
Accepted
time: 7ms
memory: 17844kb

input:

20 1019
????????????????????

output:

-1

result:

ok correct

Test #54:

score: 0
Accepted
time: 9ms
memory: 20880kb

input:

21 1218
?????????????????????

output:

-1

result:

ok correct

Test #55:

score: 0
Accepted
time: 7ms
memory: 24236kb

input:

22 1348
??????????????????????

output:

-1

result:

ok correct

Test #56:

score: 0
Accepted
time: 7ms
memory: 28260kb

input:

23 476
???????????????????????

output:

-1

result:

ok correct

Test #57:

score: 0
Accepted
time: 11ms
memory: 32604kb

input:

24 1445
????????????????????????

output:

-1

result:

ok correct

Test #58:

score: 0
Accepted
time: 17ms
memory: 37680kb

input:

25 1331
?????????????????????????

output:

-1

result:

ok correct

Test #59:

score: 0
Accepted
time: 18ms
memory: 43424kb

input:

26 459
??????????????????????????

output:

NNNNNNNNNAAAAAAAAAAAACACCC

result:

ok correct

Test #60:

score: 0
Accepted
time: 17ms
memory: 49724kb

input:

27 398
???????????????????????????

output:

NNNNNNNANNNNNNAAAAAAAAACACC

result:

ok correct

Test #61:

score: 0
Accepted
time: 23ms
memory: 56856kb

input:

28 274
????????????????????????????

output:

NNNNNNNNNNNANNNNNNNAAAAAAACC

result:

ok correct

Test #62:

score: 0
Accepted
time: 26ms
memory: 64772kb

input:

29 1624
?????????????????????????????

output:

-1

result:

ok correct

Test #63:

score: 0
Accepted
time: 33ms
memory: 73252kb

input:

30 2079
??????????????????????????????

output:

-1

result:

ok correct

Test #64:

score: 0
Accepted
time: 35ms
memory: 82832kb

input:

31 2067
???????????????????????????????

output:

-1

result:

ok correct

Test #65:

score: 0
Accepted
time: 33ms
memory: 93324kb

input:

32 1267
????????????????????????????????

output:

-1

result:

ok correct

Test #66:

score: 0
Accepted
time: 43ms
memory: 104744kb

input:

33 928
?????????????????????????????????

output:

NNNNNNNNNNNNNNNNAAAAAAAAAACAACCCC

result:

ok correct

Test #67:

score: 0
Accepted
time: 56ms
memory: 117388kb

input:

34 298
??????????????????????????????????

output:

NNNNNNNNNNNNNNNNNNNANNNNNNNAAAAACC

result:

ok correct

Test #68:

score: 0
Accepted
time: 62ms
memory: 131236kb

input:

35 2361
???????????????????????????????????

output:

-1

result:

ok correct

Test #69:

score: 0
Accepted
time: 69ms
memory: 146348kb

input:

36 489
????????????????????????????????????

output:

NNNANNNNNNNNNNNNNNNNNNAAAAAAAAAAACAC

result:

ok correct

Test #70:

score: 0
Accepted
time: 72ms
memory: 162272kb

input:

37 294
?????????????????????????????????????

output:

NNNNNNNNNNNNNNNNNNANNNNNAAAAAAAAAAAAC

result:

ok correct

Test #71:

score: 0
Accepted
time: 86ms
memory: 179764kb

input:

38 1558
??????????????????????????????????????

output:

NNNNNNNNNNNNNNNNNNNAAAAAAAAAACAACCCCCC

result:

ok correct

Test #72:

score: 0
Accepted
time: 77ms
memory: 198820kb

input:

39 1319
???????????????????????????????????????

output:

NNNNNNNNNNNNNNNNANNNNNAAAAAAAAAAACACCCC

result:

ok correct

Test #73:

score: 0
Accepted
time: 83ms
memory: 218996kb

input:

40 993
????????????????????????????????????????

output:

NNNNNNNNNNNNNNNNANNNNNAAAAAAAAAAAAAAACCC

result:

ok correct

Test #74:

score: 0
Accepted
time: 72ms
memory: 219068kb

input:

40 498
ACNANACNNACNACNNNCNCNNNANNNACNCCACAA?ANA

output:

-1

result:

ok correct

Test #75:

score: 0
Accepted
time: 47ms
memory: 219024kb

input:

40 855
NAAANAACNNNCNAANCNANCNANACANCCAANCACNCAC

output:

-1

result:

ok correct

Test #76:

score: 0
Accepted
time: 40ms
memory: 218996kb

input:

40 1007
?CNACNNAANACANACNACCC?CAANNCCCCANNANCACN

output:

-1

result:

ok correct

Test #77:

score: 0
Accepted
time: 55ms
memory: 219156kb

input:

40 1778
NACANANN?CCANNCCAACNNCCNCCCNCCNACCNC?NNN

output:

-1

result:

ok correct

Test #78:

score: 0
Accepted
time: 55ms
memory: 219192kb

input:

40 2186
ACCCACAN?NNA?AACCNNNN?ANACCANCNCNNCA?NCN

output:

-1

result:

ok correct

Test #79:

score: 0
Accepted
time: 69ms
memory: 219064kb

input:

40 332
ACAC?NCCCANAA?ACCNNC?NAC?CAC?CNCNNACNNNN

output:

-1

result:

ok correct

Test #80:

score: 0
Accepted
time: 51ms
memory: 219044kb

input:

40 712
ANCNANAAC?CACAACA?CNACCCANAACCA?CNNAANCN

output:

-1

result:

ok correct

Test #81:

score: 0
Accepted
time: 56ms
memory: 219148kb

input:

40 1127
C?CAAAANNCANANAC?NCANACANAACAACANNCCNCAC

output:

-1

result:

ok correct

Test #82:

score: 0
Accepted
time: 44ms
memory: 218984kb

input:

40 1835
CANNCAANNNAANANNCACANAC?CCCCAACA?NNNCAC?

output:

-1

result:

ok correct

Test #83:

score: 0
Accepted
time: 50ms
memory: 219080kb

input:

40 2009
CANAAAN?ANAACNCCNCCNCAAANCANCCAN?CCNCAAN

output:

-1

result:

ok correct

Test #84:

score: 0
Accepted
time: 52ms
memory: 219056kb

input:

40 54
CNAC?ACAAC?ACC?ANC?C?NNCAANCCAC?NCN?CACA

output:

-1

result:

ok correct

Test #85:

score: 0
Accepted
time: 56ms
memory: 219016kb

input:

40 955
?A?ANA?NN?C?ANC??CNNACAAC?N?AAN?AN??ANNA

output:

-1

result:

ok correct

Test #86:

score: 0
Accepted
time: 58ms
memory: 219156kb

input:

40 1451
??CCCA?N?ACCN?C???NNN??C?ANAN??NCNA??NAN

output:

-1

result:

ok correct

Test #87:

score: 0
Accepted
time: 61ms
memory: 219084kb

input:

40 1526
CN??AC?CCCCNACCNCNCCNC?CAAN?C?CA??ANCN?A

output:

-1

result:

ok correct

Test #88:

score: 0
Accepted
time: 75ms
memory: 219020kb

input:

40 2453
C?NC?CCAAN?ACCCNCC??ACAANCANCNCNNAACC?NN

output:

-1

result:

ok correct

Test #89:

score: 0
Accepted
time: 56ms
memory: 219012kb

input:

40 166
?NC??AACAN??NCA?CCAA?A??CNNN?ACNN?AN?ANC

output:

NNCXXAACANNNNCAXCCAAXAXXCNNNXACNNXANNANC

result:

ok correct

Test #90:

score: 0
Accepted
time: 75ms
memory: 218988kb

input:

40 887
?NA?AN?N?A?ANN??N?ANCAN?N????AC?NN?NA???

output:

NNANANNNNANANNNANNANCANNNAAAAACANNCNACCC

result:

ok correct

Test #91:

score: 0
Accepted
time: 69ms
memory: 219056kb

input:

40 1310
CCN?NNANC??CANN??NC?N??NA?NNNNCN?N?CCCCC

output:

-1

result:

ok correct

Test #92:

score: 0
Accepted
time: 76ms
memory: 219192kb

input:

40 1568
ANCN?N?NACC??NNN?AAC?AANA?CA?NC?CNNAN??N

output:

-1

result:

ok correct

Test #93:

score: 0
Accepted
time: 62ms
memory: 219012kb

input:

40 2035
CA?N?ACCNN??CANA?NC?NACNC??CC???NCA?N?AC

output:

-1

result:

ok correct

Test #94:

score: 0
Accepted
time: 64ms
memory: 219152kb

input:

40 126
AC?CACCCN???C?NCCN?NN??CN?CNCN?C?N?C?A?C

output:

ACNCACCCNNNNCNNCCNNNNNNCNNCNCNNCANACNAAC

result:

ok correct

Test #95:

score: 0
Accepted
time: 68ms
memory: 218980kb

input:

40 962
CCC???A??????AN?N???C?NN??CANA?CNA??N???

output:

CCCNNNANNNNANANNNAAACCNNAACANAACNACCNCCC

result:

ok correct

Test #96:

score: 0
Accepted
time: 76ms
memory: 219164kb

input:

40 1043
?A??NANA?CN?N?AN?ANN?CNAANCC??AAANNN????

output:

-1

result:

ok correct

Test #97:

score: 0
Accepted
time: 68ms
memory: 219152kb

input:

40 1638
N?ANA?NA???A??N?CNNAA???NC????CNN??AC??N

output:

-1

result:

ok correct

Test #98:

score: 0
Accepted
time: 60ms
memory: 218988kb

input:

40 2240
NNC??NCA???N?N?NNC??CNNNAN??C?AN??AC?C??

output:

-1

result:

ok correct

Test #99:

score: 0
Accepted
time: 68ms
memory: 219152kb

input:

40 55
N?NCNC????C?A??A?A?NN??ACC??C??NC???ACN?

output:

-1

result:

ok correct

Test #100:

score: 0
Accepted
time: 80ms
memory: 219160kb

input:

40 639
C???NN??C?N?N????N?CA?NCAN????AN????NA??

output:

CNNNNNNNCNNNNNNNNNNCAANCANANAAANAACANACC

result:

ok correct

Test #101:

score: 0
Accepted
time: 59ms
memory: 219012kb

input:

40 1438
?C?A?NA?AN???CA???NAAAN??A?NNANNCAA?????

output:

-1

result:

ok correct

Test #102:

score: 0
Accepted
time: 69ms
memory: 219136kb

input:

40 1660
???C?A???????NN??AANNAC???A?CN??ACN?AC?C

output:

-1

result:

ok correct

Test #103:

score: 0
Accepted
time: 84ms
memory: 219152kb

input:

40 2016
??AA??N?N??A?C?C????????C????C?C?CN??N?A

output:

-1

result:

ok correct

Test #104:

score: 0
Accepted
time: 82ms
memory: 219052kb

input:

40 242
?C???A???AA??A??C?CN???C???A?ANA?NN??AA?

output:

NCNNNANNNAANNANNCNCNNNNCNNNANANANNNANAAC

result:

ok correct

Test #105:

score: 0
Accepted
time: 75ms
memory: 219000kb

input:

40 711
??A?AA?C??C???CCNA?????C????A?????A??C??

output:

NNANAANCNNCNNNCCNANNANACAAAAAAAAAAAAACCC

result:

ok correct

Test #106:

score: 0
Accepted
time: 79ms
memory: 219064kb

input:

40 1094
??AACN??N?A?????C????AA??CC???CC?N?A????

output:

NNAACNNNNNANNNNACANAAAAAACCAAACCANAAACCC

result:

ok correct

Test #107:

score: 0
Accepted
time: 75ms
memory: 219152kb

input:

40 1878
?A??AACCA????N???A???C?C?C??C?NANC?N?NAC

output:

-1

result:

ok correct

Test #108:

score: 0
Accepted
time: 60ms
memory: 218988kb

input:

40 2082
AC??ACANC?CN?C?N???C?N???N??C?CC?????C?C

output:

-1

result:

ok correct

Test #109:

score: 0
Accepted
time: 87ms
memory: 219148kb

input:

40 268
N?N??NNNCNC??CAC????A?C?????N???AN??NC??

output:

NNNNNNNNCNCNNCACNNNAAACNANAANAAAANAANCAA

result:

ok correct

Test #110:

score: 0
Accepted
time: 77ms
memory: 219068kb

input:

40 960
?????????N???NA?????????C??AC???AN?A???A

output:

NNNNNNNNNNNNNNANANNNAAAACNAACANAANAACCCA

result:

ok correct

Test #111:

score: 0
Accepted
time: 69ms
memory: 219068kb

input:

40 1342
???C?????C?????NA?N??N?C?????A?N???NA???

output:

NNNCNNNNNCNNNAANAANAANACCAAACACNCCCNACCC

result:

ok correct

Test #112:

score: 0
Accepted
time: 91ms
memory: 219140kb

input:

40 1739
?A?A???A???N?A??N???C???NCC??C??ANN???A?

output:

-1

result:

ok correct

Test #113:

score: 0
Accepted
time: 88ms
memory: 219040kb

input:

40 2484
??????N????N?????N?C??N????????????A???N

output:

-1

result:

ok correct

Test #114:

score: 0
Accepted
time: 95ms
memory: 218996kb

input:

40 116
?CN????????A??A???C????????????????C????

output:

NCNNNNNNNNNANNANNNCNANNNNNNNNNNNNAACAAAA

result:

ok correct

Test #115:

score: 0
Accepted
time: 88ms
memory: 219080kb

input:

40 538
NC???N?????????????NN??N????????CC???N??

output:

NCNNNNNNNNNNNNNNNNNNNANNANNAAAAACCNANNAC

result:

ok correct

Test #116:

score: 0
Accepted
time: 72ms
memory: 219212kb

input:

40 1128
?????AN?????CN????N?A????C???C??????????

output:

NNNNNANNNNNNCNNNNNNNAAANACANACAAAAACACCC

result:

ok correct

Test #117:

score: 0
Accepted
time: 88ms
memory: 219072kb

input:

40 1819
?????????C?AC?????C??A??NC?????????????C

output:

-1

result:

ok correct

Test #118:

score: 0
Accepted
time: 84ms
memory: 219040kb

input:

40 2198
??????A???N????????ANN???N?C??????C?????

output:

-1

result:

ok correct

Test #119:

score: 0
Accepted
time: 83ms
memory: 218984kb

input:

40 373
???????????C?A?????????A???A?C??????????

output:

NNNNNNNNNNNCNANNNNNNNNNAANNAACANNAAAAAAC

result:

ok correct

Test #120:

score: 0
Accepted
time: 76ms
memory: 219152kb

input:

40 744
?????????????????C????????????A????C???N

output:

NNNNNNNNNNNNNNNNNCNNNNNNNAAAAAAAAAACCACN

result:

ok correct

Test #121:

score: 0
Accepted
time: 96ms
memory: 219068kb

input:

40 1103
???????????????????????????N????????????

output:

NNNNNNNNNNNNNNNNNNNNNANAAAANAAAAACAAACCC

result:

ok correct

Test #122:

score: 0
Accepted
time: 88ms
memory: 219084kb

input:

40 1866
???????A??????A??A???????????????C??????

output:

NNNNNNNANNANNNANNANAAAAAAAAAAACAACCCCCCC

result:

ok correct

Test #123:

score: 0
Accepted
time: 88ms
memory: 219196kb

input:

40 2466
????????????CN?????????????????N??CA????

output:

-1

result:

ok correct

Test #124:

score: 0
Accepted
time: 86ms
memory: 219012kb

input:

40 1
?????????????????????????????????????NAC

output:

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXNAC

result:

ok correct