結果
問題 |
No.461 三角形はいくつ?
|
ユーザー |
|
提出日時 | 2016-12-12 02:46:41 |
言語 | Ruby (3.4.1) |
結果 |
TLE
|
実行時間 | - |
コード長 | 789 bytes |
コンパイル時間 | 243 ms |
コンパイル使用メモリ | 7,552 KB |
実行使用メモリ | 25,344 KB |
最終ジャッジ日時 | 2024-11-29 13:27:25 |
合計ジャッジ時間 | 201,751 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 10 TLE * 31 |
コンパイルメッセージ
Syntax OK
ソースコード
n = gets.to_i f = [[Rational(1, 1)], [Rational(1, 1)], [Rational(1, 1)]] n.times do p, a, b = gets.split.map(&:to_i) f[p] << Rational(a, a + b) end f[1].sort! f[2].sort! ans = 0 f[0].length.times do |i| k0 = f[2].length k1 = f[2].length k2 = f[2].length while k0 > 0 && f[0][i] + f[2][k0 - 1] >= 1 k0 -= 1 end f[1].length.times do |j| while k1 > 0 && f[1][j] + f[2][k1 - 1] >= 1 k1 -= 1 end while k2 > 0 && f[0][i] + f[1][j] + f[2][k2 - 1] >= 2 k2 -= 1 end if f[0][i] + f[1][j] < 1 next end if k2 < f[2].length && f[0][i] + f[1][j] + f[2][k2] == 2 ans -= 1 end ans += f[2].length - [k0, k1].max end end puts(ans)