Submission #1758067
Source Code Expand
// ConsoleApplication9.cpp : コンソール アプリケーションのエントリ ポイントを定義します。 // #include "stdafx.h" #include <algorithm> #include <cstdio> #include <cstring> #include <functional> #include <iomanip> #include <iostream> #include <map> #include <math.h> #include <queue> #include <set> #include <stack> #include <string> #include <type_traits> #include <vector> typedef int ll; #define FOR(i, a, b) for (ll i = (a); i < (b); ++i) #define REP(i, n) FOR(i, 0, n) #define EREP(i, n) for (int i = (n - 1); i >= 0; --i) #define mod 100000 #define INF 93193111451418101 #define MIN -933111451418101 using namespace std; typedef pair<ll, ll> P; template <typename T, typename U> typename std::enable_if<std::rank<T>::value == 0>::type fill_all(T &arr, const U &v) { arr = v; } template <typename ARR, typename U> typename std::enable_if<std::rank<ARR>::value != 0>::type fill_all(ARR &arr, const U &v) { for (auto &i : arr) { fill_all(i, v); } } //------------------?????°-----------------------// ll n, m, s; map<ll, ll> dp; vector<ll> nico; //-------------------??¢??°----------------------// ll DP(ll num) { if (dp.count(num)) { return dp[num]; } ll mini = num; for (auto i : nico) { ll a = num / i,b=num%i; if (a != 0) { mini = min(mini, DP(a) + b); } } return dp[n]=mini; } int main() { cin >> n; nico.push_back(2); nico.push_back(5); ll now = 2; while (nico[now-2]*10<n) { if (nico[now - 2] % 10 == 2) { nico.push_back(nico[now - 2] * 10 + 5); } else { nico.push_back(nico[now - 2] * 10 + 2); } now++; } cout << DP(n) << endl; }
Submission Info
Submission Time | |
---|---|
Task | A - 通勤 |
User | keidaroo |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 1682 Byte |
Status | CE |
Compile Error
./Main.cpp:4:20: fatal error: stdafx.h: No such file or directory #include "stdafx.h" ^ compilation terminated.