考核知识点:思维、贪心、暴力
使用一个布尔数组或字符数组记录每个资源的上锁状态。初始化时所有资源都未上锁。维护两个计数器,一个用于统计区间[1,x]中未上锁资源的数量,另一个用于统计区间[y,N]中未上锁资源的数量。
下述代码请用Pypy3语言运行。
t = int(input())
for _ in range(t):
n, m, x, y = map(int, input().split())
locks = [False] * (n + 1)
a1 = 0
a2 = 0
a1 = x
a2 = n - y + 1
for _ in range(m):
p = int(input())
locks[p] = not locks[p]
if p <= x:
a1 += 1 if not locks[p] else -1
if p >= y and p <= n:
a2 += 1 if not locks[p] else -1
print(a1, a2)



京公网安备 11010502036488号