trang chủ / đề bài / cardgame15

Trò Chơi Bài (Platinum)

Đề bài

Mô tả

Hai người chơi A và B cùng chơi một trò chơi bài với 2N lá bài đánh số 1…2N, mỗi người N lá. Hai người chơi N vòng, mỗi vòng mỗi người đánh một lá bài.

Ban đầu, người đánh lá cao hơn giành 1 điểm. Tuy nhiên, người A có thể chọn một thời điểm để đổi luật: từ đó về sau, người đánh lá thấp hơn giành điểm. Cụ thể:

  • Không đổi luật: toàn bộ trò chơi theo luật "bài cao thắng".
  • Đổi sau vòng k (1≤k≤N−1): k vòng đầu dùng luật cao, N−k vòng sau dùng luật thấp.
  • Đổi ngay từ đầu: toàn bộ theo luật "bài thấp thắng".

Người A biết trước thứ tự bài của B và có thể sắp xếp thứ tự đánh bài của mình tùy ý. Tính số điểm tối đa người A có thể đạt được.

Dữ liệu vào

  • Dòng 1: số nguyên N (2≤N≤50000)
  • N dòng tiếp theo: lá bài người B đánh ở vòng thứ i

Dữ liệu ra

Một số nguyên — số điểm tối đa người A có thể đạt được.

Ràng buộc

  • 2≤N≤50000
  • Bài của B là N số nguyên phân biệt thuộc {1,2,…,2N}

Ví dụ

Input Output Giải thích
4
1
8
4
3
3 A có bài: 2, 5, 6, 7. Không đổi luật (cao thắng suốt): vòng 1 A đánh 2 > B đánh 1 (+1); vòng 2 A đánh 5 < B đánh 8 (0); vòng 3 A đánh 6 > B đánh 4 (+1); vòng 4 A đánh 7 > B đánh 3 (+1). Tổng: 3 điểm.
10
10
5
8
1
2
3
11
4
16
19
10 Với chiến lược tối ưu, người A giành được tối đa 10 điểm.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0