Submission #993333
Source Code Expand
#include <iostream> #include <fstream> #include <sstream> #include <vector> #include <set> #include <bitset> #include <map> #include <deque> #include <string> #include <algorithm> #include <numeric> #include <cstdio> #include <cassert> #include <cstdlib> #include <cstring> #include <ctime> #include <cmath> #define pb push_back #define pbk pop_back #define mp make_pair #define fs first #define sc second #define all(x) (x).begin(), (x).end() #define foreach(i, a) for (__typeof((a).begin()) i = (a).begin(); i != (a).end(); ++i) #define len(a) ((int) (a).size()) #ifdef CUTEBMAING #define eprintf(...) fprintf(stderr, __VA_ARGS__) #else #define eprintf(...) 42 #endif using namespace std; typedef long long int64; typedef long double ld; typedef unsigned long long lint; const int inf = (1 << 30) - 1; const int64 linf = (1ll << 62) - 1; const int N = 1e6 + 100; int64 n, a; int64 dp[N]; int main() { #ifdef XCODE freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout); #endif cin >> n >> a; vector<int64> dv; for (int64 i = 1; i * i <= n; i++) { if (n % i == 0) { dv.pb(i); dv.pb(n / i); } } sort(all(dv)), dv.resize(unique(all(dv)) - dv.begin()); fill_n(dp, len(dv), linf); dp[0] = 0; for (int i = 0; i < len(dv); i++) { for (int j = i + 1; j < len(dv); j++) { if (dv[j] % dv[i] != 0) { continue; } dp[j] = min(dp[j], dp[i] + (dv[j] / dv[i]) + a); } } cout << max(0, dp[len(dv) - 1] - a) << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - Cookies |
User | darinflar |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 1673 Byte |
Status | CE |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:74:39: error: no matching function for call to ‘max(int, int64)’ cout << max(0, dp[len(dv) - 1] - a) << endl; ^ In file included from /usr/include/c++/5/bits/char_traits.h:39:0, from /usr/include/c++/5/ios:40, from /usr/include/c++/5/ostream:38, from /usr/include/c++/5/iostream:39, from ./Main.cpp:1: /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:74:39: note: deduced conflicting types for parameter ‘const _Tp’ (‘int’ and ‘int64 {aka long long int}’) cout << max(0, dp[len(dv) - 1] - a) << endl; ^ In file included from /usr/include/c++/5/bits/char_traits.h:39...