Submission #1183590
Source Code Expand
#include<iostream> #include<iostream> #include<stdio.h> #include<string> #include<vector> #include<map> #include<math.h> #include<algorithm> #include<iomanip> using namespace std; vector<vector<long long >>memo; long long f(long long n, long long k) { if (memo[n][k] > -1) return memo[n][k]; if (k <= 0) { memo[n][k] = 1; return memo[n][k]; } else if (k >= n) { memo[n][k] = 1; return memo[n][k]; } else { memo[n][k] = f(n - 1, k - 1) + f(n - 1, k); return memo[n][k]; } } int main() { int n, a, b, id; double ans = 0; long long corner = 0, sumAns = 0; cin >> n >> a >> b; memo.resize(n+1); for (int i = 0; i < n+1; i++) { memo[i].resize(n+1); for (int j = 0; j < n+1; j++) memo[i][j] = -1; } vector<long long >v; v.resize(n); for (int i = 0; i < n; i++) cin >> v[i]; if(v.size() > 1) sort(v.begin(), v.end()); for (int i = a; i <= b; i++) { double sum = 0; for (int j = 0; j < i; j++) { sum += v[n - j - 1]; } if (sum / i > ans) { ans = sum / i; id = i; } if (sum / i == ans) { corner = v[n - i]; int innerSum = 0, outerSum = 0; for (int k = 0; k < i; k++) { if (v[n - k - 1] == corner) { innerSum++; } } for (int k = 0; k < n - i; k++) { if (v[k] == corner) { outerSum++; } } // cout << innerSum << " " << outerSum << endl; sumAns += f(innerSum + outerSum, innerSum); } if (sum / i < ans) { break; } } cout << fixed << ans << endl; cout << sumAns << endl; // cin >> n; return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - Maximum Average Sets |
User | ninja7 |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 1615 Byte |
Status | WA |
Exec Time | 1 ms |
Memory | 256 KB |
Judge Result
Set Name | Sample | All | ||||||
---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 0 / 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 | WA | 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 |