题目名称 232. [POI 1998] 最轻的语言
输入输出 naj.in/out
难度等级 ★★★
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 11
题目来源 GravatarBYVoid 于2008-12-03加入
开放分组 全部用户
提交状态
分类标签
贪心
分享题解
通过:13, 提交:42, 通过率:30.95%
Gravatarblacko 100 0.044 s 0.31 MiB C++
Gravatarskyfly 100 0.053 s 0.40 MiB C++
Gravatarskyfly 100 0.054 s 0.40 MiB C++
Gravatarkaaala 100 0.084 s 0.27 MiB C++
GravatarBlue Gene 100 0.089 s 1.64 MiB Pascal
Gravatar.Xmz 100 0.161 s 0.26 MiB C++
GravatarBlue Gene 100 0.170 s 0.26 MiB C++
GravatarBYVoid 100 0.170 s 0.26 MiB C++
GravatarRobot_马 100 0.201 s 0.42 MiB Pascal
Gravatarybh 100 0.239 s 15.37 MiB Pascal
本题关联比赛
201712练习
关于 最轻的语言 的近10条评论(全部评论)
以后裸平衡树再也不写Splay了...
GravatarPom
2011-03-15 15:27 1楼

232. [POI 1998] 最轻的语言

★★★   输入文件:naj.in   输出文件:naj.out   简单对比
时间限制:1 s   内存限制:128 MiB

【题目描述】

字母表AK由英文字母表的大写字母K组成。一个被称作重量的正整数被委派给字母表的每一个字母。一个由字母表AK的字母组成的字符串的重量是这个字符串的所有字母的总重量。一个基于字母表AK的语言由这个字母表的字母组成的字符串的有限集合。一个语言的重量是所有它的字符串的重量之和。如果这个语言的任意两个字符串W、V,W不是V的前缀,那我们说这个语言不是前缀的。

我们想找出基于字母表AK的N个要素的非前缀语言的可能的最小重量。

例如

假设K=2,字母a的重量W(a)=2 字母b的重量W(b)=5。字符串ab的重量W(ab)=2+5=7。 W(aba)=2+5+2=9。语言J={ab,aba,b}的重量-W(J)=21。语言J不是非前缀,因为字符串ab是aba的前缀。基于字母表A2最轻的三元非前缀语言(假设字母的重量如前)是{b,aa,ab};它的重量是16。

任务

写一个程序:

  • 从文本文件中读取两个整数n,k和字母表Ak的k个字母的重量;
  • 计算基于字母表Ak 的非前缀的n元语言的最小重量;
  • 把结果写到文本文件。

【输入格式】

在输入文件的首行有两个被空格号分开的正整数n、k(2<=n<=10000, 2<=k<=26)。它们是语言中的字符串数和字母表中各个字母数。第二行包括被空格号隔开的k个正整数。每一个都不大于10000。第i个数是第i个字母的重量。

【输出格式】

在输出文件的首行应该写一个整数-基于字母表Ak 的最轻的非前缀的n元语言重量。

【输入样例】 

3 2
2 5 

【输出样例】

16