蒟蒻8,10点RE,求助大佬
查看原帖
蒟蒻8,10点RE,求助大佬
463562
Dreamerlee✅楼主2021/2/6 16:43
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
long long n, a[1000010], t = 0, b[1000010];
inline long long read()//快读
{
	long long x = 0, f = 1;
	char ch = getchar();
	while (ch < '0' || ch >'9')
	{
		if (ch == '-')
			f = -1;
		ch = getchar();
	}
	while (ch >= '0' && ch <= '9')
	{
		x = (x << 1) + (x << 3) + ch - '0';
		ch = getchar();
	}
	return x * f;
}
int main()
{
	n = read();
	for (int i = 1; i <= n; i++)
	{
		a[i] = read();
		++b[a[i]];//对应楼层人数+1
	}
	sort(a + 1, a + n + 1);//快排逆序
	t = a[n] * 10;//上下楼层花费的时间
	for (int i = 1; i <= a[n]; i++)
	{
		if (b[i] == 1)//如果这个楼层只有1人,则只需开门+下电梯的时间=5+1=6
			t += 6;
		else if (b[i] >= 2)//如果该楼层大于等于2人下,则需开门+下楼梯的人数的时间=5+b[i],b[i]是对应人数
			t = t + 5 + b[i];
	}
	printf("%lld", t);
	return 0;
}
2021/2/6 16:43
加载中...