问问各位大佬
查看原帖
问问各位大佬
765957
Fengxuyang楼主2024/5/20 22:55

这道题貌似用不到队列啊

本蒟蒻的满分代码↓

#include <iostream>
#include <algorithm>
using namespace std;

int k[100005], d[100005], m[100005], f[100005], curk = 0, curd = 0, curm = 0, curf = 0;

bool cmp(int a, int b)
{
	return a > b;
}

void zx(int a, int b, int c)
{
	double sum = 0;
	sum += k[++curk];
	for (int i = 1; i <= a; i++)
	{
		sum += d[++curd];
	}
	for (int i = 1; i <= b; i++)
	{
		sum += m[++curm];
	}
	for (int i = 1; i <= c; i++)
	{
		sum += f[++curf];
	}
	sum /= 11;
	printf("%.2f\n", sum);
}

int main()
{
	int K, D, M, F, Q;
	cin >> K >> D >> M >> F;
	for (int i = 1; i <= K; i++)
	{
		cin >> k[i];
	}
	for (int i = 1; i <= D; i++)
	{
		cin >> d[i];
	}
	for (int i = 1; i <= M; i++)
	{
		cin >> m[i];
	}
	for (int i = 1; i <= F; i++)
	{
		cin >> f[i];
	}
	sort(k + 1, k + K + 1, cmp);
	sort(d + 1, d + D + 1, cmp);
	sort(m + 1, m + M + 1, cmp);
	sort(f + 1, f + F + 1, cmp);
	cin >> Q;
	for (int i = 1; i <= Q; i++)
	{
		int a, b, c;
		cin >> a >> b >> c;
		zx(a, b, c);
	}
	return 0;
}
2024/5/20 22:55
加载中...