砍竹子WA20悬关
查看原帖
砍竹子WA20悬关
786330
weberzcm楼主2024/4/4 20:20
#include<bits/stdc++.h>
#define N 200005
#define M 100005
#define ll long long
using namespace std;
int n,a[N],sum[N],ma,ans;
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
		int tmp=a[i];
		while(tmp>1)
		{
			tmp=sqrt(tmp/2+1);
			sum[i]++;
		} 
		ma=max(ma,sum[i]);
	}
	for(int i=ma;i>=1;i--)
	{
		for(int j=1;j<=n;j++)
		{
			if(sum[j]==i)
			{
				if(a[j]!=a[j+1])
				{
					ans++;
				}
				sum[j]--;
				a[j]=sqrt(a[j]/2+1);
			}
		}
	}
	cout<<ans;
  return 0;
}
/* 
*/

悬关

2024/4/4 20:20
加载中...