alt (该说不说,牛客娘是真的好看😋)题目如上,其实就是个分类讨论的问题,但是要注意一个点就是,有一个特殊的就是 "qcjjkktd" 可以同时包含 "qcjjkkt" 和 "td",所以我们只需要8个字符就可以同时获得两个快乐值,非常赚,于是我兴冲冲地就把三种分类讨论直接交上去了,然后就发现忘记讨论没有充分利用的情况成功吃到一发wa,嗯对爱吃,好了发码:

void solve() {
	int n, a, b;
	cin >> n >> a >> b;
	int ans = 0;
	// 策略1:尽可能放qcjjkkt
	int cnt = n / 7;        // 最多qcjjkkt数量
	int left = n % 7;       // 剩余字符
	int use = min(cnt, left); // 能用的t数量
	ans = max(ans, cnt * a + use * b + (left - use) / 2 * b);

	// 策略2:全部放td
	ans = max(ans, n / 2 * b);

	// 策略3:8个一组(qcjjkkt+td)
	int c8 = n / 8;
	int l8 = n % 8;
	ans = max(ans, c8 * (a + b) + l8 / 2 * b);

	// 策略4:没有充分利用继续利用
	if (l8 + c8 >= 7) {
		int need = 7 - l8;
		if (c8 >= need) {
			int nc = c8 - need;
			ans = max(ans, (need + 1) * a + nc * (a + b));
		}
	}
	cout << ans << endl;
}

signed main() {
	//vector<vector<int>>a(n,vector<int>(m)); 二维构造
	//cout << fixed << setprecision(10);  固定小数输出
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	cout.tie(nullptr);
	int T = 1;
	cin >> T;
	while (T--) solve();
	return 0;
}