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
AC × 4
AC × 18
WA × 1
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