#BS0004. FCC的内存限制(memory)
FCC的内存限制(memory)
题目背景
在S/J-PSC系列比赛中,FCC的判题机是以程序申请的内存来计算内存限制的。
例如:int a[1000000];
就会申请 MB的空间。
而在C++语言中,1个int
类型的变量占用4B的内存,1个long long
类型的变量占用8B的内存。
题目描述
对于因数组开大而导致MLE
爆0的小 来说,他可恨死了计算空间。现在给定要存储的数据的值域 以及内存限制 ,他可以选用int
或long long
进行存储。请你帮忙计算,在使用内存小于内存限制且数据能正确存储的情况下,他最大能开多长的数组?
输入输出格式
输入格式
从标准输入读入数据。共2行。
第一行为一个正整数,代表题目的内存限制(单位MB)
第二行为一个实数 ,代表要存储的数据的值域。
输出格式
共1行。一个正整数代表数组最大的长度。
输入输出样例
10
100
2621439
样例1解释
,因此使用int存储。10MB内存可以存储个int变量。所以最大长度为2621439。
10
2147483648
1310719
样例2解释
,因此使用long long存储。10MB内存可以存储个long long变量。所以最大长度为1310719。
数据规模与约定
对于100%的数据,保证输入数据为整数。
测试点编号 | ||
---|---|---|
1~3 | ||
4~7 | ||
8~10 |