Submission #1182050
Source Code Expand
#include <iostream> #include <cstdio> #include <algorithm> #include <functional> #include <string> #include <vector> #include <set> #include <map> #include <queue> #include <cmath> using namespace std; long long dp[55][55]; long long way[55][55]; int main() { for (int i = 0; i < 55; i++) { for (int j = 0; j < 55; j++) { dp[i][j] = -1e18; } } int n, a, b; cin >> n >> a >> b; vector<long long> v(n); for (int i = 0; i < n; i++) { cin >> v[i]; } dp[0][0] = 0; way[0][0] = 1; for (int i = 0; i < n; i++) { for (int j = 0; j <= n; j++) { if (dp[i + 1][j] < dp[i][j]) { dp[i + 1][j] = dp[i][j]; way[i + 1][j] = way[i][j]; } else if (dp[i + 1][j] == dp[i][j]) { way[i + 1][j] += way[i][j]; } if (dp[i + 1][j + 1] < dp[i][j] + v[i]) { dp[i + 1][j + 1] = dp[i][j] + v[i]; way[i + 1][j + 1] = way[i][j]; } else if (dp[i + 1][j + 1] == dp[i][j] + v[i]) { way[i + 1][j + 1] += way[i][j]; } } } long double mx = 0; for (int i = a; i <= b; i++) { mx = max(mx, (long double)dp[n][i] / i); } long long ans = 0; for (int i = a; i <= b; i++) { if (abs(mx - (long double)dp[n][i] / i) < 1e-10) { ans += way[n][i]; } } printf("%.8f\n", (double)mx); cout << ans << endl; }
Submission Info
Submission Time | |
---|---|
Task | D - Maximum Average Sets |
User | pekempey |
Language | C++14 (GCC 5.4.1) |
Score | 400 |
Code Size | 1308 Byte |
Status | AC |
Exec Time | 1 ms |
Memory | 256 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 400 / 400 | ||||
Status |
|
|
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 |