2017 计蒜之道 初赛 第五场 A. UCloud 机房的网络搭建

Posted Fighting Heart

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2017 计蒜之道 初赛 第五场 A. UCloud 机房的网络搭建相关的知识,希望对你有一定的参考价值。

贪心。

从大到小排序之后进行模拟,注意$n=1$和$n=0$的情况。

#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <algorithm>
#include <vector>
#include <queue>
#include <stack>
#include <map>
#include <set>
#include <cmath>
using namespace std;

int n,m;
int a[100010];

bool cmp(int x,int y)
{
	return x>y;
}

int main()
{
	scanf("%d%d",&n,&m);
	for(int i=1;i<=m;i++) scanf("%d",&a[i]);

	sort(a+1,a+1+m,cmp);
	
	int now = n;

	if(n==0||n==1)
	{
		printf("0\n");
		return 0;
	}
	
	for(int i=1;i<=m;i++)
	{
		if(a[i] <= 0) break;
		if(a[i]<now) 
		{
			now = now - a[i];
			a[i+1]--;
		}
		else 
		{
			now = 0;
			printf("%d\n",i);
			break;
		}	
	}

	if(now!=0)
	{
		printf("Impossible\n");
	}

	return 0;
}

以上是关于2017 计蒜之道 初赛 第五场 A. UCloud 机房的网络搭建的主要内容,如果未能解决你的问题,请参考以下文章

2017 计蒜之道 初赛 第五场 B. UCloud 的安全秘钥(简单)

2017 计蒜之道 初赛 第五场 C. UCloud 的安全秘钥(中等)

2017 计蒜之道 初赛 第五场 UCloud 的安全秘钥(中等)

2017 计蒜之道 初赛 第五场 D. UCloud 的安全秘钥(困难)

计蒜之道第五场C题

2018 计蒜之道 初赛 第三场