A85658.Alice 的分段游戏

普及+/提高

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

给定长度为 nn 的整数数组 a1,a2,,ana_1,a_2,\dots,a_n,以及每个位置的颜色 col1,col2,,colncol_1,col_2,\dots,col_n(颜色编号为 1m1\sim m)。还给定一个目标颜色集合 S{1,2,,m}S\subseteq\{1,2,\dots,m\} 与一个整数 kk

请将数组划分为不超过 kk 段的非空连续子段,使得每一段都满足:

  1. 段内至少包含一个位置,其颜色属于 SS
  2. 该段元素和不超过某个阈值 XX

在所有可行划分中,最小化阈值 XX。记答案为

f=min{X|存在将数组划分为 k 段的方案,且每段含目标颜色、段和X}.f=\min\left\{\,X \,\middle|\, \text{存在将数组划分为}\ \le k\ \text{段的方案,且每段含目标颜色、段和}\le X\right\}.

若无论怎样划分都无法满足“每段必须包含目标颜色”的要求(例如整个数组中没有任何颜色属于 SS),输出 1-1

输入格式

  • 第一行:四个整数 n,m,k,tn,m,k,t —— 数组长度、颜色总数、允许的最大段数、目标颜色个数。
  • 第二行:nn 个整数 a1,a2,,ana_1,a_2,\dots,a_n
  • 第三行:nn 个整数 col1,col2,,colncol_1,col_2,\dots,col_n
  • 第四行:tt 个整数,表示目标颜色集合 SS 中的颜色编号(可重复,重复无效)。

输出格式

输出一个整数:ff 的值;若不存在可行划分,输出 1-1

输入输出样例

  • 输入#1

    5 2 2 1
    2 3 4 2 1
    1 1 2 2 1
    1
    

    输出#1

    7
  • 输入#2

    5 2 1 1
    1 4 1 1 1
    1 1 2 2 2
    1
    

    输出#2

    8

说明/提示

  • 1n2×1051\le n\le 2\times 10^5
  • 1m2×1051\le m\le 2\times 10^5
  • 1kn1\le k\le n
  • 1tm1\le t\le m
  • 1ai1091\le a_i\le 10^9
  • 1colim1\le col_i\le m
首页