zoukankan      html  css  js  c++  java
  • [贪心 + 化学] 多校赛-开学觉醒赛 B

    溶液混合浓度 = C1 V1 + C2 V2 / V1 + V2

    题目所给数据不足 无法精确计算溶液混合体积

    只能将体积相加

    由公式推导贪心即可

    #include <cstdio>
    #include <iostream>
    #include <cstdlib>
    #include <cmath>
    #include <cctype>
    #include <string>
    #include <cstring>
    #include <algorithm>
    #include <stack>
    #include <queue>
    #include <set>
    #include <map>
    #include <ctime>
    #include <vector>
    #include <fstream>
    #include <list>
    #include <iomanip>
    #include <numeric>
    using namespace std;
    typedef long long ll;
    
    const int MAXN = 1e6 + 10;
    
    double arr[MAXN];
    
    int main()
    {
    	ios::sync_with_stdio(false);
    
    	cin.tie(0);     cout.tie(0);
    
        int T;
    
        cin>>T;
    
        while(T--)
        {
        	int n;
    
        	double v, w, tv, tw, tsr;
    
        	cin>>n>>v>>w;
    
        	for(int i = 0; i < n; i++)
        		cin>>arr[i];
    
        	sort(arr, arr + n);
    
        	tv = 0;
    
        	tw = 0;
    
        	for(int i = 0; i < n; i++)
        	{
        		if(tw * tv + arr[i] * v <= w * (tv + v))
        		{
        			tw = (tw * tv + arr[i] * v) / (tv + v);
        			tv += v;
        		}
        		else
        			break;
        	}
        	
        	cout<<fixed<<setprecision(0)<<tv<<' ';
        	cout<<fixed<<setprecision(2)<<tw / 100<<endl;
        }
    
        return 0;
    }
  • 相关阅读:
    DHCP脚本
    7.31
    7.30
    7.26
    7.24
    VLAN与三层交换机
    静态路由配置
    7.17
    四次挥手
    TCP三次握手,四次挥手
  • 原文地址:https://www.cnblogs.com/zeolim/p/12270470.html
Copyright © 2011-2022 走看看