Skip to content

Instantly share code, notes, and snippets.

@NehaJeevan
Created November 27, 2016 21:33
Show Gist options
  • Save NehaJeevan/4d13928b953f9ca382441811be60addc to your computer and use it in GitHub Desktop.
Save NehaJeevan/4d13928b953f9ca382441811be60addc to your computer and use it in GitHub Desktop.
735B Codeforces Round #382 (Div. 2), problem: (B) Urbanization
#include <bits/stdc++.h>
#define SZ(X) ((int)(X).size())
#define ALL(X) (X).begin(), (X).end()
#define REP(I, N) for (int I = 0; I < (N); ++I)
#define REPP(I, A, B) for (int I = (A); I < (B); ++I)
#define REPP_(I, A, B) for (int I = (A); I >= (B); --I)
#define I(X) cin>>X
#define II(X, Y) cin>>X>>Y
#define III(X, Y, Z) cin>>X>>Y>>Z
#define MP make_pair
#define PB push_back
#define MS0(X) memset((X), 0, sizeof((X)))
#define MS1(X) memset((X), -1, sizeof((X)))
#define LEN(X) strlen(X)
#define PII pair<int,int>
#define VI vector<int>
#define VPII vector<pair<int,int> >
#define PLL pair<long long,long long>
#define VPLL vector<pair<long long,long long> >
#define F first
#define S second
typedef long long LL;
using namespace std;
int n1,n2,n,a[200000];
double sum1=0.0,sum2=0.0;
int main()
{
III(n,n1,n2);
REP(i,n) I(a[i]);
sort(a,a+n);
if(n1>n2) swap(n1,n2);
REPP_(i,n-1,n-n1) sum1+=a[i];
REPP_(i,n-n1-1,n-n1-n2) sum2+=a[i];
cout<<setprecision(8)<<fixed<<(sum1/n1 + sum2/n2);
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment