結果
問題 | No.2057 Ising Model |
ユーザー |
![]() |
提出日時 | 2025-03-31 17:45:04 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 42 ms / 2,000 ms |
コード長 | 909 bytes |
コンパイル時間 | 262 ms |
コンパイル使用メモリ | 82,448 KB |
実行使用メモリ | 53,968 KB |
最終ジャッジ日時 | 2025-03-31 17:45:49 |
合計ジャッジ時間 | 3,487 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 44 |
ソースコード
N, A, B = map(int, input().split())if 2 * A > B:# Compute maximum even and odd transitions possibleif (N-1) % 2 == 0:t_even = N - 1else:t_even = N - 2t_odd = (N - 1) if (N-1) % 2 else (N - 2)# Calculate f for even t_evensum_adjacent_even = (N-1) - 2 * t_evensum_S_even = N - t_evenf_even = A * sum_adjacent_even - B * sum_S_even# Calculate f for odd t_oddsum_adjacent_odd = (N-1) - 2 * t_oddsum_S_odd = N - (t_odd + 1)f_odd = A * sum_adjacent_odd - B * sum_S_oddresult = min(f_even, f_odd)else:# Consider t=0 (even) and t=1 (odd)sum_adjacent_even = N - 1sum_S_even = Nf_even_t0 = A * sum_adjacent_even - B * sum_S_evensum_adjacent_t1 = (N-1) - 2 * 1sum_S_t1 = N - 2f_odd_t1 = A * sum_adjacent_t1 - B * sum_S_t1result = min(f_even_t0, f_odd_t1)print(result)