Bribes
TopCoder SRM 483, Div1 500
Time Limit: 0.5s, Memory Limit: 64MiB
Правителството в страната, където живее Ели, бива избрано за мандат от 4 години. Всеки път, когато има избори, повечето хора не си правят труда да извървят заветните 500 метра до най-близката избирателна секция за да гласуват. За сметка на това, през целия мандат на правителството те се оплакват колко зле са управляващите. Разбира се, когато дойдат следващите избори, те отново не гласуват.
Елеонора планира да използва ниската избирателна активност в своя полза. Тя е открила ключа за министър-председателския пост: подкупи. За да гарантира победата си, тя е решила да подкупи малкото хора, които все пак са решили да подадат своя глас. Поради така наречената шуробаджанащина, която доминира в нашата малка страна, даже не се налага да подкупва всички гласоподаватели! Например, ако млада двойка е решила да гласува, подкупвайки само един от тях, тя би могла да накара и другия да гласува за нея доброволно.
Всички N гласоподаватели са се наредили на опашка пред избирателната станция. За простота можем да си представим, че гледаме опашката отстрани и сме номерирали храта с целите числа от 1 до N от ляво надясно. Всеки гласоподавател е асоцииран с две цели числа Ii (influence) и Ri (resistance) – съответно неговото влияние над околните хора и неговото нежелание да гласува за Ели. Ако нежеланието на даден човек падне до нула или по-малко, то той ще гласува за нея.
Ако Елеонора подкупи i-тия човек в опашката, неговото нежелание ще се намали с неговото влияние. Поради ефекта на шуробаджанащината, нежеланието на хората директно до него (тоест тези с индекси i-1 и i+1) ще намалее с Ii / 2 (целочислено деление); това на тези през един човек от него ще намалее с Ii / 4; това на тези през два човека от него ще намалее с Ii / 8 и т.н. По-формално, ако Ели подкупи i-тия човек в опашката, нежеланието на всеки гласоподавател ще намалее с Ii / 2|i – j|, където j е индекса на съответния човек, а
От вас се иска да намерите минималния брой хора, които Ели трябва да подкупи, за да спечели всички гласове.
Елеонора планира да използва ниската избирателна активност в своя полза. Тя е открила ключа за министър-председателския пост: подкупи. За да гарантира победата си, тя е решила да подкупи малкото хора, които все пак са решили да подадат своя глас. Поради така наречената шуробаджанащина, която доминира в нашата малка страна, даже не се налага да подкупва всички гласоподаватели! Например, ако млада двойка е решила да гласува, подкупвайки само един от тях, тя би могла да накара и другия да гласува за нея доброволно.
Всички N гласоподаватели са се наредили на опашка пред избирателната станция. За простота можем да си представим, че гледаме опашката отстрани и сме номерирали храта с целите числа от 1 до N от ляво надясно. Всеки гласоподавател е асоцииран с две цели числа Ii (influence) и Ri (resistance) – съответно неговото влияние над околните хора и неговото нежелание да гласува за Ели. Ако нежеланието на даден човек падне до нула или по-малко, то той ще гласува за нея.
Ако Елеонора подкупи i-тия човек в опашката, неговото нежелание ще се намали с неговото влияние. Поради ефекта на шуробаджанащината, нежеланието на хората директно до него (тоест тези с индекси i-1 и i+1) ще намалее с Ii / 2 (целочислено деление); това на тези през един човек от него ще намалее с Ii / 4; това на тези през два човека от него ще намалее с Ii / 8 и т.н. По-формално, ако Ели подкупи i-тия човек в опашката, нежеланието на всеки гласоподавател ще намалее с Ii / 2|i – j|, където j е индекса на съответния човек, а
|i – j|
обозначава абсолютната стойност на разликата от индексите им. Ако след определен брой подкупи нежеланието на всички хора в опашката е нула или по-малко, то Ели е спечелила всички гласоподаватели и, съответно, изборите.
От вас се иска да намерите минималния брой хора, които Ели трябва да подкупи, за да спечели всички гласове.
Вход
На първия ред на стандартния вход ще бъде зададено едно цяло число N – броя хора, които са решили да гласуват. Следват N реда, всеки съдържащ по две цели числа Ii и Ri – съответно влиянието и нежеланието на съответния човек.
Изход
На стандартния изход изведете едно единствено цяло число – броя хора, които Ели трябва да подкупи, за да спечели всички гласове. Ако дори след подкупването на всички хора все още някой от тях не би гласувал за нея, вместо това изпечатайте -1.
Ограничения
- 1 ≤ N ≤ 50
- 1 ≤ Ii, Ri ≤ 500
Примерен Вход | Примерен Изход |
---|---|
5 10 11 3 2 5 7 3 3 1 1 | 2 |
3 15 13 15 42 15 13 | -1 |
20 479 402 340 87 398 20 40 76 477 468 181 493 422 252 377 98 60 216 486 58 15 89 500 500 307 89 1 26 2 8 65 125 411 269 374 116 446 426 401 81 | 7 |
Оптималната стратегия в първия пример е да се подкупят хората с индекси 1 и 3. Така нежеланието на хората бива намалено със, съответно: {10, 5, 2, 1, 0} от първия и {1, 2, 5, 2, 1} от втория от тях. Крайното нежелание на хората в този случай е {0, -5, 0, 0, 0}.
Във втория пример, дори подкупвайки всички хора, нежеланието на човека с индекс 2 остава 15.
Във втория пример, дори подкупвайки всички хора, нежеланието на човека с индекс 2 остава 15.