Submission #1181854


Source Code Expand

#include <bits/stdc++.h>

using namespace std;

#define pb push_back
#define mp make_pair
#define forn(i, n) for (int i = 0; i < (int)(n); ++i)
typedef long long LL;
typedef pair<LL, LL> PII;

int n, from, to;
LL a[50];
PII d[51][51];

void add(PII &a, PII b) {
    if (b.first > a.first) {
        a = b;
    } else if (b.first == a.first) {
        a.second += b.second;
    }
}

int main() {
    cin >> n >> from >> to;
    forn(i, n) cin >> a[i];
    forn(i, 51) forn(j, 51) {
        d[i][j] = mp(-1, 0);
    }
    d[0][0] = mp(0, 1);
    forn(i, n) forn(j, n) if (d[i][j].first != -1) {
        add(d[i + 1][j], d[i][j]);
        add(d[i + 1][j + 1], mp(d[i][j].first + a[i], d[i][j].second));
    }
    LL num = 0, denom = 1;
    LL cnt = 0;
    for (int i = from; i <= to; ++i) {
        LL nnum = d[n][i].first;
        LL ndenom = i;
        LL ncnt = d[n][i].second;
        if (nnum * denom > num * ndenom) {
            num = nnum;
            denom = ndenom;
            cnt = ncnt;
        } else if (nnum * denom == num * ndenom) {
            cnt += ncnt;
        }
    }
    printf("%.15f\n", (double)num / denom);
    cout << cnt << endl;
    return 0;
}

Submission Info

Submission Time
Task D - Maximum Average Sets
User HellKitsune
Language C++14 (GCC 5.4.1)
Score 400
Code Size 1225 Byte
Status AC
Exec Time 1 ms
Memory 256 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 4
AC × 19
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt
All sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, subtask_1_1.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_2.txt, subtask_1_3.txt, subtask_1_4.txt, subtask_1_5.txt, subtask_1_6.txt, subtask_1_7.txt, subtask_1_8.txt, subtask_1_9.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 256 KB
sample_02.txt AC 1 ms 256 KB
sample_03.txt AC 1 ms 256 KB
sample_04.txt AC 1 ms 256 KB
subtask_1_1.txt AC 1 ms 256 KB
subtask_1_10.txt AC 1 ms 256 KB
subtask_1_11.txt AC 1 ms 256 KB
subtask_1_12.txt AC 1 ms 256 KB
subtask_1_13.txt AC 1 ms 256 KB
subtask_1_14.txt AC 1 ms 256 KB
subtask_1_15.txt AC 1 ms 256 KB
subtask_1_2.txt AC 1 ms 256 KB
subtask_1_3.txt AC 1 ms 256 KB
subtask_1_4.txt AC 1 ms 256 KB
subtask_1_5.txt AC 1 ms 256 KB
subtask_1_6.txt AC 1 ms 256 KB
subtask_1_7.txt AC 1 ms 256 KB
subtask_1_8.txt AC 1 ms 256 KB
subtask_1_9.txt AC 1 ms 256 KB