题解 CF1486A【Shifting Stacks】

概述

题号 难度 \(AC\)时间及记录
\(\texttt{CF1486A}\) \(\texttt{洛谷难度:暂无评定}\) \(\texttt{On 2021/02/20}\)

解析

这是一道简单题。
题意不难理解。
我们考虑,最少的情况就是前面的 \(h_1~h_i\) 构成了:
一个以 \(1\) 为首项,以 \(1\) 为公差的等差数列
用一下等差数列的求和公式,
如果当前前缀和比这个和大,
或是相等,
显然是可行的。
然后你就得到了 \(AC\)

代码

#include<bits/stdc++.h>
#define BetterIO ios::sync_with_stdio(false)
using namespace std;
#define int long long
int Array[101];
signed main(void)
{
	BetterIO;
	register int Case;
	cin>>Case;
	while(Case--)
	{
		register int Total;
		cin>>Total;
		register int i;
		for(i=1;i<=Total;i++)
		{
			cin>>Array[i];
		}
		register int Sum;
		Sum=0;
		register bool Flag;
		Flag=true;
		for(i=1;i<=Total;i++)
		{
			Sum+=Array[i];
			if((i-1)*i/2>Sum)
			{
				Flag=false;
				break;
			}
		}
		if(Flag)
		{
			cout<<"Yes"<<endl;
		}
		else
		{
			cout<<"No"<<endl;
		}
	}
	return 0;
}
posted @ 2021-02-24 10:54  Bushuai_Tang  阅读(104)  评论(0编辑  收藏  举报