結果

問題 No.164 ちっちゃくないよ!!
ユーザー umaumaxumaumax
提出日時 2017-05-07 20:10:36
言語 C++11
(gcc 11.4.0)
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 782 bytes
コンパイル時間 773 ms
コンパイル使用メモリ 63,308 KB
実行使用メモリ 4,356 KB
最終ジャッジ日時 2023-10-12 16:12:34
合計ジャッジ時間 1,849 ms
ジャッジサーバーID
(参考情報)
judge15 / judge12
このコードへのチャレンジ
(要ログイン)

テストケース

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

ソースコード

diff #

#include <algorithm>
#include <iostream>

using namespace std;

int main(int argc, const char* argv[])
{
	int N;
	cin >> N;
	string V[N];
	int bases[N];
	for (auto&& v : V) cin >> v;

	auto c2v = [](char c) {
		int v						= 0;
		if ('0' <= c && c <= '9') v = c - '0';
		if ('A' <= c && c <= 'Z') v = 10 + c - 'A';
		return v;
	};
	auto s2base = [&](string s) {
		int maxval				  = 0;
		for (auto&& c : s) maxval = max(c2v(c), maxval);
		return maxval + 1;
	};
	for (int i = 0; i < N; i++) bases[i] = s2base(V[i]);

	auto conv = [&](string s, int base) {
		uint64_t sum		   = 0;
		for (auto&& c : s) sum = sum * base + c2v(c);
		return sum;
	};
	uint64_t RET[N];
	for (int i = 0; i < N; i++) RET[i] = conv(V[i], bases[i]);

	sort(RET, &RET[N]);
	cout << RET[0] << endl;
	return 0;
}
0