这道题的意思其实就是,给你三个背包:
每一次任选两个背包,在这两个背包中分别取出$a,b$这两个数(不放回),同时用$a-b$来替换$a$,那么经过数次操作以后,这三个背包中就只剩下一个数字了,请问这个数字的最大值。
输入格式是:第一行分别代表了这三个背包的背包容量,之后的三行分别代表的是这三个背包的全部数字。
">Three Bags
Three Bags
Created by LXC on Fri Jan 12 12:26:29 2024
https://codeforces.com/problemset/problem/1467/C
ranting: 1900
tag: constructive algorithms, greedy
problem
这道题的意思其实就是,给你三个背包:
每一次任选两个背包,在这两个背包中分别取出$a,b$这两个数(不放回),同时用$a-b$来替换$a$,那么经过数次操作以后,这三个背包中就只剩下一个数字了,请问这个数字的最大值。
输入格式是:第一行分别代表了这三个背包的背包容量,之后的三行分别代表的是这三个背包的全部数字。
solution
找规律
答案就两种情况。找到三个背包中各自最小值,选择其中两个最小的作为负数,其余所有值为正数,求和得到一种答案。另一种找到每个背包各自总和最小的作为负数,其余所有值为正数,求和得到另一种答案。二者取最小。
code
1 |
|