#include<stdio.h> #include<vector> const int LIMIT=50; int main(){ std::vector<int> dp; int addA=0; int addB=0; int sumA=0; int sumB=0; for(int i=0;i<=LIMIT;i++){ dp.push_back(0); } for(int i=LIMIT;;i++){ addA++; sumA+=addA; if(i>=LIMIT+1){ sumB+=addB+dp[i-LIMIT-1]; addB+=dp[i-LIMIT-1]; } dp[i]=sumA+sumB; dp.push_back(0); if(dp[i]+1>1000*1000){ printf("%d\n",i); break; } } }