[2020.10.28 Tournoi de simulation de vulgarisation SSL T5] Petit b arrosage des fleurs [Mathématiques]

Insérez la description de l'image ici
Insérez la description de l'image ici

une analyse

Triez d'abord, puis réfléchissez-y.La situation optimale devrait être de faire en sorte que cette séquence de nombres augmente de manière monotone avec la plus petite différence adjacente.
Simulez chaque jour, jugez la relation entre deux fleurs et additionnez le nombre.

Télécharger le code

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

int n,a[40001],ans;

int main()
{
    
    
    cin>>n;
	for(int i=1;i<=n;i++)
	{
    
    
		cin>>a[i];
	}	
	sort(a,a+n+1); 
	for(int i=1;i<=n;i++)
	{
    
    
		if(a[i]==a[i-1]&&i!=1)
		{
    
    
			a[i]=a[i-1]+1;
			ans++;
		}
		else if(a[i]<a[i-1])
		{
    
    
			ans+=(1+a[i-1]-a[i]);
			a[i]=a[i-1]+1;
		}
	}
	cout<<ans;
	return 0;
}

Je suppose que tu aimes

Origine blog.csdn.net/dglyr/article/details/109351053
conseillé
Classement