Submission #65294916
Source Code Expand
// https://atcoder.jp/contests/abc403/tasks/abc403_f
// 2025年04月27日 23時25分37秒
#include <bits/stdc++.h>
// #include <atcoder/all>
// using namespace atcoder;
// using mint = modint998244353;
// using mint = modint1000000007;
#define all(v) (v).begin(), (v).end()
#define rall(v) (v).rbegin(), (v).rend()
#define rep(i, n) for (long long int i = 0; i < (n); ++i)
#define rep2(i, k, n) for (long long int i = (k); i < (n); ++i)
using namespace std;
using ll = long long;
using vint = vector<int>;
using vll = vector<ll>;
using vvint = vector<vector<int>>;
using vvll = vector<vector<ll>>;
const ll INF = (ll)2e18 + 9;
// const int INF = (int)2e9 + 7;
template <typename T>
void chmin(T& a, T b) {
a = min(a, b);
}
template <typename T>
void chmax(T& a, T b) {
a = max(a, b);
}
template <typename T>
void print(vector<T> v) {
int n = v.size();
rep(i, n) {
if (i == 0)
cout << v[i];
else
cout << ' ' << v[i];
}
cout << endl;
}
void yesno(bool x) {
cout << (x ? "Yes" : "No") << '\n';
}
void solve();
int main() {
solve();
return 0;
}
void solve() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int N;
cin >> N;
map<int, string> memo;
map<int, char> memoc;
auto dfs = [&](auto dfs, int n) -> string {
if (n == 1)
return "1";
if (n == 11)
return "11";
if (n == 111)
return "111";
if (n == 1111)
return "1111";
if (memo.count(n))
return memo[n];
string ans = "";
ll sz = INF;
char c = '_';
rep2(i, 2, n) {
if (n % i == 0) {
string l = dfs(dfs, i);
string r = dfs(dfs, n / i);
if (memoc[i] == '+') {
l = "(" + l + ")";
}
if (memoc[n / i] == '+') {
r = "(" + r + ")";
}
if ((ll)l.size() + (ll)r.size() + 1 < sz) {
ans = l + "*" + r;
memoc[n] = '*';
sz = ans.size();
}
}
}
rep2(i, 1, n) {
string l = dfs(dfs, i);
string r = dfs(dfs, n - i);
ll tmpsz = (ll)l.size() + (ll)r.size() + 1;
if (tmpsz < sz) {
ans = l + "+" + r;
sz = tmpsz;
memoc[n] = '+';
}
}
return memo[n] = ans;
};
cout << dfs(dfs, N) << endl;
}
Submission Info
| Submission Time | |
|---|---|
| Task | F - Shortest One Formula |
| User | goropikari |
| Language | C++ 23 (gcc 12.2) |
| Score | 500 |
| Code Size | 2674 Byte |
| Status | AC |
| Exec Time | 395 ms |
| Memory | 4288 KiB |
Compile Error
Main.cpp: In instantiation of ‘solve()::<lambda(auto:53, int)> [with auto:53 = solve()::<lambda(auto:53, int)>; std::string = std::__cxx11::basic_string<char>]’:
Main.cpp:108:16: required from here
Main.cpp:77:14: warning: unused variable ‘c’ [-Wunused-variable]
77 | char c = '_';
| ^
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 500 / 500 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt |
| All | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_test_00.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt, 01_test_14.txt, 01_test_15.txt, 01_test_16.txt, 01_test_17.txt, 01_test_18.txt, 01_test_19.txt, 01_test_20.txt, 01_test_21.txt, 01_test_22.txt, 01_test_23.txt, 01_test_24.txt, 01_test_25.txt, 01_test_26.txt, 01_test_27.txt, 01_test_28.txt, 01_test_29.txt, 01_test_30.txt, 01_test_31.txt, 01_test_32.txt, 01_test_33.txt, 01_test_34.txt, 01_test_35.txt, 01_test_36.txt, 01_test_37.txt, 01_test_38.txt, 01_test_39.txt, 01_test_40.txt, 01_test_41.txt, 01_test_42.txt, 01_test_43.txt, 01_test_44.txt, 01_test_45.txt, 01_test_46.txt, 01_test_47.txt, 01_test_48.txt, 01_test_49.txt, 01_test_50.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00_sample_00.txt | AC | 1 ms | 3492 KiB |
| 00_sample_01.txt | AC | 1 ms | 3532 KiB |
| 00_sample_02.txt | AC | 13 ms | 3552 KiB |
| 01_test_00.txt | AC | 1 ms | 3536 KiB |
| 01_test_01.txt | AC | 1 ms | 3392 KiB |
| 01_test_02.txt | AC | 395 ms | 4148 KiB |
| 01_test_03.txt | AC | 394 ms | 4160 KiB |
| 01_test_04.txt | AC | 393 ms | 4088 KiB |
| 01_test_05.txt | AC | 392 ms | 4088 KiB |
| 01_test_06.txt | AC | 392 ms | 4124 KiB |
| 01_test_07.txt | AC | 391 ms | 4288 KiB |
| 01_test_08.txt | AC | 391 ms | 4160 KiB |
| 01_test_09.txt | AC | 394 ms | 4216 KiB |
| 01_test_10.txt | AC | 391 ms | 4216 KiB |
| 01_test_11.txt | AC | 390 ms | 4080 KiB |
| 01_test_12.txt | AC | 389 ms | 4100 KiB |
| 01_test_13.txt | AC | 62 ms | 3748 KiB |
| 01_test_14.txt | AC | 126 ms | 3920 KiB |
| 01_test_15.txt | AC | 113 ms | 3860 KiB |
| 01_test_16.txt | AC | 29 ms | 3684 KiB |
| 01_test_17.txt | AC | 119 ms | 3912 KiB |
| 01_test_18.txt | AC | 40 ms | 3708 KiB |
| 01_test_19.txt | AC | 2 ms | 3416 KiB |
| 01_test_20.txt | AC | 45 ms | 3724 KiB |
| 01_test_21.txt | AC | 13 ms | 3656 KiB |
| 01_test_22.txt | AC | 101 ms | 3796 KiB |
| 01_test_23.txt | AC | 42 ms | 3704 KiB |
| 01_test_24.txt | AC | 5 ms | 3492 KiB |
| 01_test_25.txt | AC | 174 ms | 3936 KiB |
| 01_test_26.txt | AC | 203 ms | 3968 KiB |
| 01_test_27.txt | AC | 47 ms | 3732 KiB |
| 01_test_28.txt | AC | 221 ms | 3944 KiB |
| 01_test_29.txt | AC | 40 ms | 3704 KiB |
| 01_test_30.txt | AC | 269 ms | 3972 KiB |
| 01_test_31.txt | AC | 20 ms | 3592 KiB |
| 01_test_32.txt | AC | 174 ms | 3876 KiB |
| 01_test_33.txt | AC | 362 ms | 4176 KiB |
| 01_test_34.txt | AC | 367 ms | 4084 KiB |
| 01_test_35.txt | AC | 386 ms | 4044 KiB |
| 01_test_36.txt | AC | 357 ms | 4184 KiB |
| 01_test_37.txt | AC | 368 ms | 4140 KiB |
| 01_test_38.txt | AC | 383 ms | 4148 KiB |
| 01_test_39.txt | AC | 364 ms | 4120 KiB |
| 01_test_40.txt | AC | 363 ms | 4120 KiB |
| 01_test_41.txt | AC | 360 ms | 4144 KiB |
| 01_test_42.txt | AC | 378 ms | 4128 KiB |
| 01_test_43.txt | AC | 1 ms | 3320 KiB |
| 01_test_44.txt | AC | 1 ms | 3532 KiB |
| 01_test_45.txt | AC | 67 ms | 3728 KiB |
| 01_test_46.txt | AC | 90 ms | 3716 KiB |
| 01_test_47.txt | AC | 229 ms | 3948 KiB |
| 01_test_48.txt | AC | 270 ms | 3984 KiB |
| 01_test_49.txt | AC | 340 ms | 3964 KiB |
| 01_test_50.txt | AC | 384 ms | 4000 KiB |