链接:
http://acm.dhu.edu.cn/problem/view.html?problemId=5272
题意:
给定n瓶不同浓度的液体, 每次可以挑选x(x>=2)瓶混合, 求最后混合到只剩一瓶的最大浓度。
这题的混合用向下取整,
x瓶混合后的浓度为——?x瓶总浓度/x?。
分析:
只知道方法,将n个物品从小到大排序, 然后从最小开始两个两个混合。
#include<bits/stdc++.h> using namespace std; int n ; const int maxn = 105; int c[maxn]; int main() { while(~scanf("%d", &n)) { for(int i = 0; i < n; i++) { scanf("%d", &c[i]); } sort(c,c+n); for(int i = 1; i < n; i++) { c[i] = (c[i-1] + c[i]) / 2; } printf("%d\n", c[n-1]); } }
时间: 2024-11-10 11:19:54