这本来是B3635的代码,并且我也通过了,提交记录
代码如下
#include <iostream>
#include <algorithm>
using namespace std;
typedef unsigned long long ull;
ull f[1000001] = {0,1,2,3,4,1,2,3,4,5,2,1,2,3,4,3};
inline ull dp(int n){
if(n == 0){
return 0;
}
if(f[n]){
return f[n];
}
f[n] = min({dp(n-1),dp(n-5),dp(n-11)}) + 1;
return f[n];
}
int main(){
int m;
cin >> m;
cout << dp(m);
return 0;
}
但是当我在本地输入1000000时,运行错误了,如图

然后我就调试了一下,发现是在第十六行f[n] = min({dp(n-1),dp(n-5),dp(n-11)}) + 1;错误的
调试到那一行我的Dev-C++弹出了以下窗口

我的编译选项-std=gnu++14
我又在洛谷IDE上运行了代码,是可以正常输出结果的
有没有哪个dalao可以解释一下是什么原因,怎么解决。
如能指出,感激不尽!