Submission #993538


Source Code Expand

#include<stdio.h>
#include<algorithm>
#include<map>
using namespace std;
map<long long,long long>dp;
long long A;
long long calc(long long N){
	if(N<=A)return N;
	if(dp.count(N)){
		return dp[N];
	}
	long long ret=N;
	for(long long i=max(2,sqrt(A)-10);i*i<=N;i++){
		ret=min(ret,i+A+calc((N+i-1)/i));
	}
	return dp[N]=ret;
}
int main(){
	long long a,b;
	scanf("%lld%lld",&a,&b);
	A=b;
	printf("%lld\n",calc(a));
}

Submission Info

Submission Time
Task E - Cookies
User tozangezan
Language C++14 (GCC 5.4.1)
Score 0
Code Size 435 Byte
Status CE

Compile Error

./Main.cpp: In function ‘long long int calc(long long int)’:
./Main.cpp:13:34: error: no matching function for call to ‘max(int, __gnu_cxx::__enable_if<true, double>::__type)’
  for(long long i=max(2,sqrt(A)-10);i*i<=N;i++){
                                  ^
In file included from /usr/include/c++/5/algorithm:61:0,
                 from ./Main.cpp:2:
/usr/include/c++/5/bits/stl_algobase.h:219:5: note: candidate: template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)
     max(const _Tp& __a, const _Tp& __b)
     ^
/usr/include/c++/5/bits/stl_algobase.h:219:5: note:   template argument deduction/substitution failed:
./Main.cpp:13:34: note:   deduced conflicting types for parameter ‘const _Tp’ (‘int’ and ‘__gnu_cxx::__enable_if<true, double>::__type {aka double}’)
  for(long long i=max(2,sqrt(A)-10);i*i<=N;i++){
                                  ^
In file included from /usr/include/c++/5/algorithm:61:0,
                 from ./Main.cpp:2:
/usr/include/c++/5/bits/stl_algobase.h:265:5: note: ...