結果

問題 No.39 桁の数字を入れ替え
ユーザー ゴリポン先生
提出日時 2024-06-01 09:22:58
言語 D
(dmd 2.109.1)
結果
WA  
実行時間 -
コード長 541 bytes
コンパイル時間 5,374 ms
コンパイル使用メモリ 210,012 KB
実行使用メモリ 6,820 KB
最終ジャッジ日時 2024-12-21 14:25:06
合計ジャッジ時間 6,236 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 14 WA * 5
権限があれば一括ダウンロードができます

ソースコード

diff #

module main;

import std;

void main()
{
	auto N = readln.chomp;
	auto digits = N.map!"a-'0'".array;
	int maxN = digits.maxElement, minN = digits.minElement;
	// 1番大きい数字が最後に現れる場所を探す
	auto idx0 = N.length - 1;
	while (digits[idx0] != maxN) idx0--;
	// 1番小さい数字が最初に現れる場所を探す
	int idx1 = 0;
	while (digits[idx1] != minN) idx1++;
	auto ans = digits.dup;
	swap(ans[idx0], ans[idx1]);
	if (cmp(ans, digits) > 0)
		writefln("%(%d%)", ans);
	else
		writefln("%(%d%)", digits);
}
0