Codeforces 735B - Urbanization
思路:贪心。人数少的城市住钱最多的那几个人。
不证明了,举个例子吧:a1<a2<a3<a4<a5
(a1+a2+a3)/3+(a4+a5)/2==(2*a1+2*a2+2*a3+3*a4+3*a5)/6①
(a1+a2)/2+(a3+a4+a5)/3==(3*a1+3*a2+2*a3+2*a4+2*a5)/6 ②
因为a4+a5>a1+a2所以①式大于②式,同理可证其他方案都比①式小。
本质就是分母通分后都一样,在分子中把最大的分母和最大的钱数相乘,使得最大的钱数的权值也最大。
代码:
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int N=1e5+;
int a[N];
bool cmp(int &a,int &b)
{
return a>b;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie();
int n,n1,n2;
cin>>n>>n1>>n2;
for(int i=;i<n;i++)cin>>a[i]; sort(a,a+n,cmp);
if(n1>n2)swap(n1,n2);
int c=,t1=n1,t2=n2;
double sum1=,sum2=;
while(n1)
{
sum1+=a[c];
c++;
n1--;
}
while(n2)
{
sum2+=a[c];
c++;
n2--;
}
cout<<fixed<<setprecision()<<sum1/t1+sum2/t2<<endl;
return ;
}
Codeforces 735B - Urbanization的更多相关文章
- Codeforces Round #382 (Div. 2)B. Urbanization 贪心
B. Urbanization 题目链接 http://codeforces.com/contest/735/problem/B 题面 Local authorities have heard a l ...
- 【50.88%】【Codeforces round 382B】Urbanization
time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...
- python爬虫学习(5) —— 扒一下codeforces题面
上一次我们拿学校的URP做了个小小的demo.... 其实我们还可以把每个学生的证件照爬下来做成一个证件照校花校草评比 另外也可以写一个物理实验自动选课... 但是出于多种原因,,还是绕开这些敏感话题 ...
- 【Codeforces 738D】Sea Battle(贪心)
http://codeforces.com/contest/738/problem/D Galya is playing one-dimensional Sea Battle on a 1 × n g ...
- 【Codeforces 738C】Road to Cinema
http://codeforces.com/contest/738/problem/C Vasya is currently at a car rental service, and he wants ...
- 【Codeforces 738A】Interview with Oleg
http://codeforces.com/contest/738/problem/A Polycarp has interviewed Oleg and has written the interv ...
- CodeForces - 662A Gambling Nim
http://codeforces.com/problemset/problem/662/A 题目大意: 给定n(n <= 500000)张卡片,每张卡片的两个面都写有数字,每个面都有0.5的概 ...
- CodeForces - 274B Zero Tree
http://codeforces.com/problemset/problem/274/B 题目大意: 给定你一颗树,每个点上有权值. 现在你每次取出这颗树的一颗子树(即点集和边集均是原图的子集的连 ...
- CodeForces - 261B Maxim and Restaurant
http://codeforces.com/problemset/problem/261/B 题目大意:给定n个数a1-an(n<=50,ai<=50),随机打乱后,记Si=a1+a2+a ...
随机推荐
- CUDA从入门到精通 - Augusdi的专栏 - 博客频道 - CSDN.NET
http://blog.csdn.net/augusdi/article/details/12833235 CUDA从入门到精通 - Augusdi的专栏 - 博客频道 - CSDN.NET CUDA ...
- Javascript-逻辑或(||)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Javascript-涨工资案例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Django初级手册1-项目和应用的创建与简单的数据库操作
创建项目 django-admin.py startproject mysite 1. 目录结构 mysite/ #项目的名称 manage.py #可通过命令和项目进行交互的文件 mysite/ # ...
- Java事件监听的四种实现方式
1.事件对象: 一般继承自java.util.EventObject对象,由开发者自行定义. 2.事件源: 就是触发事件的源头,不同的事件源会触发不同的事件类型. 3.事件监听器: 事件监听器负责监听 ...
- SQL语句--查询任务
SELECT 目标字段1, 目标字段2 FROM 目标表WHERE ID IN(SELECT 外键 FROM 外键所在表WHERE 提供数据字段 IN(提供数据第一条, 提供数据第二条, ))
- Windows批处理程序bat
@echo off 关闭回显,否则脚本中的命令都会输出,关闭后只显示结果. setlocal ENABLEDELAYEDEXPANSION 在for循环中变量扩展时需要用到 copy /Y ms ...
- python进程同步,condition例子
#coding=utf-8import multiprocessing as mpimport time def consumer(cond): with cond: print ...
- 【Python】【Flask】前端调用后端方法
后端代码: @app.route("/test",methods=['POST','GET']) def test(): return "我是测试的" 前端代码 ...
- java输出重定向
Java的标准输入,输出分别是通过System.in和System.out来代表.默认情况下他们分别代表键盘和显示器. System类里提供了3个重定向标准输入,输出的方法. static void ...