結果

問題 No.164 ちっちゃくないよ!!
ユーザー izryt(趣味)izryt(趣味)
提出日時 2016-01-18 03:02:33
言語 C++11
(gcc 11.4.0)
結果
WA  
実行時間 -
コード長 926 bytes
コンパイル時間 1,827 ms
コンパイル使用メモリ 175,072 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-09-19 20:22:12
合計ジャッジ時間 2,499 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 2 ms
6,812 KB
testcase_01 AC 2 ms
6,944 KB
testcase_02 AC 2 ms
6,944 KB
testcase_03 AC 2 ms
6,940 KB
testcase_04 AC 1 ms
6,944 KB
testcase_05 AC 2 ms
6,940 KB
testcase_06 WA -
testcase_07 WA -
testcase_08 AC 2 ms
6,944 KB
testcase_09 WA -
testcase_10 AC 1 ms
6,940 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

string V[1000];

bool cmpr(string a, string b)
{
    return a.size() < b.size();
}

long long f1(string a)
{
    int b;

    char maxc = 0;
    for (int i = 0; i < a.size(); ++i) maxc = max(maxc, a[i]);

    b = (isdigit(maxc) ? maxc - '0' + 1 : maxc - 'A' + 11);

    ll c = 1;
    ll res = 0;

    for (int i = a.size() - 1; i >= 0; --i) {
        res += (isdigit(a[i]) ? a[i] - '0' : a[i] - 'A' + 10) * c;
        c *= b;
    }

    return res;
}

string f2(string a)
{
    string res = "";

    bool f = false;
    for (int i = 0; i < a.size(); ++i) {
        if (a[i] != '0') f = true;
        if (f) res += a[i];
    }

    return res;
}

int main()
{
    int N; cin >> N;

    for (int i = 0; i < N; ++i) { cin >> V[i]; V[i] = f2(V[i]); }

    sort(V, V + N);
    stable_sort(V, V + N, cmpr);

    string a = V[0];

    cout << f1(V[0]) << endl;
}
0