卬高杯
提出id | 提出時刻 | ユーザー名 | 問題 | 言語 | 判定状況 | 判定 | 実行時間 |
---|---|---|---|---|---|---|---|
114743 | 2023-10-24 07:29:34 | porkleoi | E | cpp | 54/54 | AC | 8 |
#include <bits/stdc++.h>
using namespace std;
#define rep(i, n) for (ll i = 0; i < (ll)(n); i++)
#define rep2(i, s, n) for (ll i = s; i <= (ll)(n); i++)
#define rep3(i, s, n, d) for (ll i = s; i <= (ll)(n); i += d)
#define rep4(i, s, n, d) for (ll i = s; i >= (ll)(n); i += d)
typedef long long ll;
typedef long double ld;
typedef unsigned long long ull;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef vector<vvi> vvvi;
typedef vector<string> vs;
typedef vector<vs> vvs;
typedef vector<vvs> vvvs;
typedef vector<char> vc;
typedef vector<vc> vvc;
typedef vector<vvc> vvvc;
typedef vector<ll> vll;
typedef vector<vll> vvll;
typedef vector<vvll> vvvll;
typedef vector<vvvll> vvvvll;
typedef vector<double> vd;
typedef vector<vd> vvd;
typedef vector<vvd> vvvd;
typedef vector<ld> vld;
typedef vector<vld> vvld;
typedef vector<vvld> vvvld;
typedef vector<bool> vb;
typedef vector<vd> vvb;
typedef vector<vvd> vvvb;
typedef vector<pair<int, int>> vpi;
typedef vector<pair<ll, ll>> vpll;
typedef priority_queue<int, vector<int>, greater<int>> pqi;
typedef priority_queue<vi, vector<vi>, greater<vi>> pqvi;
typedef priority_queue<ll, vector<ll>, greater<ll>> pqll;
typedef priority_queue<vll, vector<vll>, greater<vll>> pqvll;
typedef priority_queue<int, vector<int>, less<int>> rpqi;
typedef priority_queue<vi, vector<vi>, less<vi>> rpqvi;
typedef pair<int, int> P;
#define yes(ans) if(ans)cout << "yes"<< endl; else cout << "no" << endl
#define Yes(ans) if(ans)cout << "Yes"<< endl; else cout << "No" << endl
#define YES(ans) if(ans)cout << "YES"<< endl ;else cout << "NO" << endl
#define printv(vec) {rep(i, vec.size()) cout << vec[i] << ' '; cout << endl;}
#define printvv(vec) rep(i, vec.size()) {rep(j, vec[i].size()) cout << vec[i][j] << ' '; cout << endl;};
#define printvvv(vec) rep(i, vec.size()) { rep(j, vec[i].size()) { rep(k, vec[i][j].size()) cout << vec[i][j][k] << ' '; cout << " "; }cout << endl; };
#define all1(x) x.begin(),x.end()
#define all2(x) x.rbegin(), x.rend()
#define so(x) sort(all1(x))
#define re(x) reverse(all1(x))
#define rso(x) sort(all2(x))
#define vco(x, a) count(all1(x), a)
#define per(x) next_permutation(all1(x))
#define iINF 2147483647
#define llINF 9223372036854775807
#define INF 1000000000000000000
#define mod 998244353
#define mod2 1000000007
vector<pair<long long, long long> > prime_factorize(long long N) {
vector<pair<long long, long long> > res;
for (long long a = 2; a * a <= N; ++a) {
if (N % a != 0) continue;
long long ex = 0; // 指数
// 割れる限り割り続ける
while (N % a == 0) {
++ex;
N /= a;
}
// その結果を push
res.push_back({a, ex});
}
// 最後に残った数について
if (N != 1) res.push_back({N, 1});
return res;
}
int main() {
ll n; cin >> n;
vpll vec = prime_factorize(n);
vll ans(0);
ll p = 0, q = 0;
rep(i, vec.size()){
ll a = vec[i].first, b = vec[i].second;
if(a==3) p += b;
else if(a==19) q += b;
else{
rep(j, b) ans.push_back(a);
}
}
if(p<q){
rep(i, p) ans.push_back(57);
rep(i, q-p) ans.push_back(19);
}
else{
rep(i, q) ans.push_back(57);
rep(i, p-q) ans.push_back(3);
}
so(ans);
rep(i, ans.size()-1) cout << ans[i] << ' ';
cout << ans[ans.size()-1] << endl;
}
sample1.txt AC 3 sample2.txt AC 5 sample3.txt AC 6 sample4.txt AC 6 case1.txt AC 6 case2.txt AC 6 case3.txt AC 6 case4.txt AC 6 case5.txt AC 6 case6.txt AC 6 case7.txt AC 6 case8.txt AC 6 case9.txt AC 6 case10.txt AC 7 case11.txt AC 6 case12.txt AC 6 case13.txt AC 7 case14.txt AC 7 case15.txt AC 7 case16.txt AC 7 case17.txt AC 7 case18.txt AC 7 case19.txt AC 6 case20.txt AC 7 case21.txt AC 6 case22.txt AC 6 case23.txt AC 7 case24.txt AC 7 case25.txt AC 7 case26.txt AC 7 case27.txt AC 7 case28.txt AC 7 case29.txt AC 7 case30.txt AC 7 case31.txt AC 7 case32.txt AC 7 case33.txt AC 7 case34.txt AC 7 case35.txt AC 7 case36.txt AC 7 case37.txt AC 7 case38.txt AC 7 case39.txt AC 7 case40.txt AC 7 case41.txt AC 7 case42.txt AC 7 case43.txt AC 7 case44.txt AC 7 case45.txt AC 7 case46.txt AC 7 case47.txt AC 7 case48.txt AC 7 case49.txt AC 8 case50.txt AC 7 8 AC8 AC