[2020.10.28 Torneo de simulación de popularización SSL T5] Little b regando las flores [Matemáticas]

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

análisis

Ordene primero, y luego piénselo. La situación óptima debería ser hacer que esta secuencia de números aumente monótonamente con la diferencia adyacente más pequeña.
Simule cada día, juzgue la relación entre dos flores y sume el número.

Subir código

#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;
}

Supongo que te gusta

Origin blog.csdn.net/dglyr/article/details/109351053
Recomendado
Clasificación