結果
問題 |
No.3278 Avoid Division
|
ユーザー |
|
提出日時 | 2025-09-19 22:16:14 |
言語 | C# (.NET 8.0.404) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,028 bytes |
コンパイル時間 | 8,627 ms |
コンパイル使用メモリ | 171,296 KB |
実行使用メモリ | 189,932 KB |
最終ジャッジ日時 | 2025-09-19 22:16:30 |
合計ジャッジ時間 | 12,862 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | WA * 1 |
other | WA * 24 |
コンパイルメッセージ
復元対象のプロジェクトを決定しています... /home/judge/data/code/main.csproj を復元しました (112 ミリ秒)。 main -> /home/judge/data/code/bin/Release/net8.0/main.dll main -> /home/judge/data/code/bin/Release/net8.0/publish/
ソースコード
#nullable enable #region var _input = Array.Empty<string>(); var _iter = 0; string String() { while (_iter >= _input.Length) (_input, _iter) = (Console.ReadLine()!.Split(' '), 0); return _input[_iter++]; } T I<T>() where T : IParsable<T> => T.Parse(String(), null); #endregion static T[] Range<T>(int n, Func<T> F) => Enumerable.Range(0, n).Select(_ => F()).ToArray(); var n = I<int>(); var opz = Range(n, () => (String(), I<int>())); var ans = new List<string>(); var divided = false; for (var i = 1; i <= n; i++) { var (op, v) = opz[i - 1]; if (op == "*") ans.Add($"mul a a A[{i}]"); else if (op == "+") { if (divided) { ans.Add($"mul c b A[{i}]"); ans.Add($"add a a c"); } else ans.Add($"add a a A[{i}]"); } else { if (divided) ans.Add($"mul b b A[{i}]"); else ans.Add($"add b b A[{i}]"); divided = true; } } if (divided) ans.Add($"div a a b"); Console.WriteLine(string.Join(Environment.NewLine, ans));