#194. 空间复杂度入门——计算空间开销

空间复杂度入门——计算空间开销

Problem E. 空间复杂度入门——计算空间开销

时间限制:1s

空间限制:256MB

题目背景

本段中将考虑空间复杂度,所谓空间复杂度,就是一段代码需要耗费的存储空间。和时间复杂度一样,如果超出题目所给限制,那么也无法通过题目。而空间复杂度不如时间复杂度的执行语句数目一样直观,需要进行一些计算。

题目描述

在下面的描述中,B指的是字节

小季正在写一道空间限制为 mm KB题目,小季打算用 "D语言" 提交这道题目。他一共使用了 nn 种数据类型,对于第 ii 种数据类型,它的开销为 aia_i B,小季一共使用了 bib_i 个该数据类型,也就是说该种数据类型一共耗费了 aibia_i * b_i B的存储空间。

现在小季想知道他的代码是否会得到 "超过空间限制" 这个结果。

输入描述

第一行输入两个整数 nnmm,用空格隔开,分别代表数据类型数目和空间限制。

接下来 nn 行每行两个整数 aia_ibib_i,用空格隔开,分别代表每种类型的开销和个数。

1n1001 \le n \le 1001m1281 \le m \le 128

1ai,bi1001 \le a_i, b_i \le 100

输出描述

如果会超出空间限制,则输出 “MLE”(不包括引号);

否则,先在第一行输出 "OK"(不包括引号),然后在第二行输出实际空间开销,格式为 "aKB bB"(输出不包括引号,a,b为需要计算内容)

注意题目所给单位1KB=1024B1KB = 1024B

样例1

输入

3 1
4 100
8 100
16 100

输出

MLE

样例2

输入

3 16
4 100
8 100
16 100

输出

OK
2KB 752B

样例3

输入

1 1
4 8

输出

OK
0KB 32B

样例4

输入

1 1
32 32

输出

OK
1KB 0B