QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#641892#4687. Weather ReportElegiaAC ✓13ms4292kbC++143.4kb2024-10-15 03:10:272024-10-15 03:10:28

Judging History

你现在查看的是最新测评结果

  • [2024-10-15 03:10:28]
  • 评测
  • 测评结果:AC
  • 用时:13ms
  • 内存:4292kb
  • [2024-10-15 03:10:27]
  • 提交

answer

/*
_/_/_/_/    _/_/_/_/_/  _/_/_/
_/      _/      _/    _/      _/
_/      _/      _/    _/      _/
_/      _/      _/    _/      _/
_/      _/      _/    _/  _/  _/
_/      _/  _/  _/    _/    _/_/
_/_/_/_/      _/_/     _/_/_/_/_/

_/_/_/_/    _/    _/  _/      _/
_/      _/   _/  _/   _/_/  _/_/
_/      _/    _/_/    _/ _/_/ _/
_/      _/     _/     _/  _/  _/
_/      _/    _/_/    _/      _/
_/      _/   _/  _/   _/      _/
_/_/_/_/    _/    _/  _/      _/

_/_/_/_/_/ _/_/_/_/_/ _/_/_/_/_/
    _/         _/     _/
    _/         _/     _/
    _/         _/     _/_/_/_/
    _/         _/     _/
    _/         _/     _/
    _/     _/_/_/_/_/ _/_/_/_/_/

_/_/_/_/_/ _/_/_/_/_/ _/_/_/_/_/
    _/         _/     _/
    _/         _/     _/
    _/         _/     _/_/_/_/
    _/         _/     _/
    _/         _/     _/
    _/     _/_/_/_/_/ _/_/_/_/_/
*/
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <ctime>
#include <cctype>
 
#include <algorithm>
#include <iomanip>
#include <tuple>
#include <random>
#include <bitset>
#include <queue>
#include <functional>
#include <set>
#include <map>
#include <vector>
#include <chrono>
#include <iostream>
#include <limits>
#include <numeric>

#define LOG(FMT...) fprintf(stderr, FMT)

#define fir first
#define sec second

using namespace std;

typedef long long ll;
typedef unsigned long long ull;
typedef vector<int> vi;

// mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());

template<class T>
istream &operator>>(istream &is, vector<T> &v) {
  for (T &x : v)
    is >> x;
  return is;
}

ostream &operator<<(ostream &os, const pair<char, int> &unit) {
  return os << unit.first << "^" << unit.second;
}

template<class T>
ostream &operator<<(ostream &os, const vector<T> &v) {
  if (!v.empty()) {
    os << v.front();
    for (int i = 1; i < v.size(); ++i)
      os << ' ' << v[i];
  }
  return os;
}

using pir = pair<double, ll>;

const int N = 44;

int n;
ll C[N][N];

ll MC(int a, int b, int c, int d) {
  return C[n][a] * C[n - a][b] * C[n - a - b][c];
}

int main() {
#ifdef ELEGIA
  freopen("test.in", "r", stdin);
  int nol_cl = clock();
#endif
  ios::sync_with_stdio(false);
  cin.tie(nullptr);

  double a, b, c, d;
  cin >> n >> a >> b >> c >> d;
  double ans = 0;
  for (int i = 0; i <= n; ++i) {
    C[i][0] = 1;
    for (int j = 1; j <= i; ++j) {
      C[i][j] = C[i - 1][j - 1] + C[i - 1][j];
    }
  }
  priority_queue<pir, vector<pir>, greater<pir>> pq;
  for (int i = 0; i <= n; ++i) {
    for (int j = 0; j <= n - i; ++j) {
      for (int k = 0; k <= n - i - j; ++k) {
        pq.emplace(pow(a, i) * pow(b, j) * pow(c, k) * pow(d, n - i - j - k), MC(i, j, k, n - i - j - k));
      }
    }
  }
  while (true) {
    pir x = pq.top(); pq.pop();
    if (x.second > 1) {
      ans += x.second / 2 * 2 * x.first;
      pq.emplace(x.first * 2, x.second / 2);
      x.second %= 2;
      if (x.second) pq.emplace(x);
    } else {
      if (pq.empty()) {
        break;
      }
      pir y = pq.top(); pq.pop();
      ans += x.first + y.first;
      pq.emplace(x.first + y.first, 1);
      --y.second;
      if (y.second) pq.emplace(y);
    }
  }
  cout << fixed << setprecision(10) << ans << '\n';

#ifdef ELEGIA
  LOG("Time: %dms\n", int ((clock()
      -nol_cl) / (double)CLOCKS_PER_SEC * 1000));
#endif
  return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 4128kb

input:

2
0.9 0.049999 0.05 0.000001

output:

1.4575099500

result:

ok found '1.45751', expected '1.45751', error '0.00000'

Test #2:

score: 0
Accepted
time: 7ms
memory: 4224kb

input:

20
0.25 0.25 0.25 0.25

output:

40.0000000000

result:

ok found '40.00000', expected '40.00000', error '0.00000'

Test #3:

score: 0
Accepted
time: 8ms
memory: 4204kb

input:

19
0.5 0.3 0.08615 0.11385

output:

32.0000551029

result:

ok found '32.00006', expected '32.00006', error '0.00000'

Test #4:

score: 0
Accepted
time: 7ms
memory: 4156kb

input:

19
0.255 0.265 0.235 0.245

output:

37.9943446614

result:

ok found '37.99434', expected '37.99435', error '0.00000'

Test #5:

score: 0
Accepted
time: 9ms
memory: 4236kb

input:

20
0.066667 0.133333 0.266667 0.533333

output:

32.8488848021

result:

ok found '32.84888', expected '32.84889', error '0.00000'

Test #6:

score: 0
Accepted
time: 9ms
memory: 4212kb

input:

20
0.27 0.26 0.24 0.23

output:

39.9700244231

result:

ok found '39.97002', expected '39.97002', error '0.00000'

Test #7:

score: 0
Accepted
time: 13ms
memory: 4292kb

input:

20
0.5 0.2 0.175 0.125

output:

35.6177332358

result:

ok found '35.61773', expected '35.61773', error '0.00000'

Test #8:

score: 0
Accepted
time: 0ms
memory: 4032kb

input:

2
0.9 0.05 0.049999 0.000001

output:

1.4575099500

result:

ok found '1.45751', expected '1.45751', error '0.00000'

Test #9:

score: 0
Accepted
time: 0ms
memory: 4112kb

input:

3
0.25 0.25 0.25 0.25

output:

6.0000000000

result:

ok found '6.00000', expected '6.00000', error '0.00000'

Test #10:

score: 0
Accepted
time: 1ms
memory: 4140kb

input:

9
0.25 0.25 0.25 0.25

output:

18.0000000000

result:

ok found '18.00000', expected '18.00000', error '0.00000'

Test #11:

score: 0
Accepted
time: 1ms
memory: 4064kb

input:

9
0.1 0.4 0.3 0.2

output:

16.6459855790

result:

ok found '16.64599', expected '16.64599', error '0.00000'

Test #12:

score: 0
Accepted
time: 6ms
memory: 4104kb

input:

20
0.56 0.1 0.01 0.33

output:

27.9269671936

result:

ok found '27.92697', expected '27.92697', error '0.00000'

Test #13:

score: 0
Accepted
time: 0ms
memory: 4048kb

input:

1
0.5 0.25 0.125 0.125

output:

1.7500000000

result:

ok found '1.75000', expected '1.75000', error '0.00000'

Test #14:

score: 0
Accepted
time: 0ms
memory: 4092kb

input:

2
0.5 0.25 0.125 0.125

output:

3.5000000000

result:

ok found '3.50000', expected '3.50000', error '0.00000'

Test #15:

score: 0
Accepted
time: 0ms
memory: 4172kb

input:

3
0.5 0.25 0.125 0.125

output:

5.2500000000

result:

ok found '5.25000', expected '5.25000', error '0.00000'

Test #16:

score: 0
Accepted
time: 1ms
memory: 4080kb

input:

11
0.5 0.25 0.125 0.125

output:

19.2500000000

result:

ok found '19.25000', expected '19.25000', error '0.00000'

Test #17:

score: 0
Accepted
time: 0ms
memory: 4088kb

input:

1
0.403 0.199 0.199 0.199

output:

1.9950000000

result:

ok found '1.99500', expected '1.99500', error '0.00000'

Test #18:

score: 0
Accepted
time: 0ms
memory: 4112kb

input:

1
0.199 0.403 0.199 0.199

output:

1.9950000000

result:

ok found '1.99500', expected '1.99500', error '0.00000'

Test #19:

score: 0
Accepted
time: 0ms
memory: 4072kb

input:

1
0.199 0.199 0.403 0.199

output:

1.9950000000

result:

ok found '1.99500', expected '1.99500', error '0.00000'

Test #20:

score: 0
Accepted
time: 0ms
memory: 4076kb

input:

1
0.199 0.199 0.199 0.403

output:

1.9950000000

result:

ok found '1.99500', expected '1.99500', error '0.00000'

Test #21:

score: 0
Accepted
time: 1ms
memory: 4036kb

input:

4
0.4 0.25 0.24 0.11

output:

7.5251345700

result:

ok found '7.52513', expected '7.52513', error '0.00000'

Test #22:

score: 0
Accepted
time: 0ms
memory: 4032kb

input:

4
0.25 0.4 0.24 0.11

output:

7.5251345700

result:

ok found '7.52513', expected '7.52513', error '0.00000'

Test #23:

score: 0
Accepted
time: 0ms
memory: 4048kb

input:

4
0.25 0.24 0.4 0.11

output:

7.5251345700

result:

ok found '7.52513', expected '7.52513', error '0.00000'

Test #24:

score: 0
Accepted
time: 0ms
memory: 4172kb

input:

4
0.25 0.24 0.11 0.4

output:

7.5251345700

result:

ok found '7.52513', expected '7.52513', error '0.00000'

Test #25:

score: 0
Accepted
time: 0ms
memory: 4056kb

input:

4
0.0001 0.0002 0.00034 0.99936

output:

1.0089885151

result:

ok found '1.00899', expected '1.00899', error '0.00000'

Test #26:

score: 0
Accepted
time: 0ms
memory: 4108kb

input:

4
0.99936 0.00034 0.0002 0.0001

output:

1.0089885151

result:

ok found '1.00899', expected '1.00899', error '0.00000'

Test #27:

score: 0
Accepted
time: 0ms
memory: 4168kb

input:

4
0.00034 0.99936 0.0002 0.0001

output:

1.0089885151

result:

ok found '1.00899', expected '1.00899', error '0.00000'

Test #28:

score: 0
Accepted
time: 13ms
memory: 4160kb

input:

20
0.000001 0.999997 0.000001 0.000001

output:

1.0003570084

result:

ok found '1.00036', expected '1.00036', error '0.00000'

Test #29:

score: 0
Accepted
time: 4ms
memory: 4084kb

input:

15
0.000001 0.000001 0.999997 0.000001

output:

1.0002520045

result:

ok found '1.00025', expected '1.00025', error '0.00000'

Test #30:

score: 0
Accepted
time: 8ms
memory: 4148kb

input:

18
0.01 0.345 0.345 0.3

output:

29.6750587434

result:

ok found '29.67506', expected '29.67506', error '0.00000'

Test #31:

score: 0
Accepted
time: 6ms
memory: 4240kb

input:

17
0.13 0.35 0.13 0.39

output:

31.0568361587

result:

ok found '31.05684', expected '31.05684', error '0.00000'

Test #32:

score: 0
Accepted
time: 12ms
memory: 4212kb

input:

20
0.14 0.33 0.14 0.39

output:

37.0670968886

result:

ok found '37.06710', expected '37.06710', error '0.00000'

Test #33:

score: 0
Accepted
time: 13ms
memory: 4168kb

input:

20
0.125001 0.25 0.5 0.124999

output:

35.0000000000

result:

ok found '35.00000', expected '35.00000', error '0.00000'

Test #34:

score: 0
Accepted
time: 12ms
memory: 4200kb

input:

20
0.01 0.34503 0.34503 0.29994

output:

32.9672035253

result:

ok found '32.96720', expected '32.96720', error '0.00000'

Test #35:

score: 0
Accepted
time: 13ms
memory: 4216kb

input:

20
0.4 0.2 0.3 0.1

output:

36.9592971671

result:

ok found '36.95930', expected '36.95930', error '0.00000'

Test #36:

score: 0
Accepted
time: 13ms
memory: 4220kb

input:

20
0.01 0.02 0.03 0.94

output:

8.3247096881

result:

ok found '8.32471', expected '8.32471', error '0.00000'

Test #37:

score: 0
Accepted
time: 13ms
memory: 4200kb

input:

20
0.991 0.003 0.003 0.003

output:

2.1213818217

result:

ok found '2.12138', expected '2.12138', error '0.00000'

Test #38:

score: 0
Accepted
time: 13ms
memory: 4156kb

input:

20
0.495 0.005 0.495 0.005

output:

21.6754013648

result:

ok found '21.67540', expected '21.67540', error '0.00000'

Test #39:

score: 0
Accepted
time: 9ms
memory: 4236kb

input:

20
0.492 0.008 0.493 0.007

output:

22.3229281448

result:

ok found '22.32293', expected '22.32293', error '0.00000'

Test #40:

score: 0
Accepted
time: 9ms
memory: 4184kb

input:

20
0.032 0.051 0.023 0.894

output:

12.9856549695

result:

ok found '12.98565', expected '12.98565', error '0.00000'

Test #41:

score: 0
Accepted
time: 9ms
memory: 4124kb

input:

20
0.002 0.01 0.09 0.898

output:

10.7619687926

result:

ok found '10.76197', expected '10.76197', error '0.00000'

Test #42:

score: 0
Accepted
time: 13ms
memory: 4244kb

input:

20
0.91 0.03 0.03 0.03

output:

11.6424469039

result:

ok found '11.64245', expected '11.64245', error '0.00000'