秋祭 | 静岡高校工学部



卬高杯


提出詳細

提出id提出時刻ユーザー名問題言語判定状況判定実行時間
1147432023-10-24 07:29:34porkleoiEcpp54/54AC8

#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