填坑II
Description
emmm,还是北湖深坑,不用惊喜,不用意外
我们继续用石头填!
北湖的地面依旧是一维的,每一块宽度都为1,高度是非负整数,用一个数组来表示。
还是提供不限量的1×2规格的石头。
但是这一次是 DarkDawn 来填坑,他有很强烈的强迫症,所有的石头只能水平摆放(宽为2,高为1)。
问这样是否可以将北湖填平。(所有地面到达同一高度即为填平)
Input
样例有多组输入至文件末尾;
每组用例占两行;
第一行输入1个整数 n(1 ≤ n ≤ 2×10^5)表示北湖地面总宽度;
第二行输入 n 个整数ai(0 ≤ ai ≤ 1e9),用空格间隔,表示地面高度。
Output
若能填平则输出“YES”,否则输出“NO”。
代码如下:
#include<cstdio>
#include<stack>
#include<cstdlib>
int comp(const void*a,const void*b)
{
return *(int*)b-*(int*)a;
}
using namespace std;
const long maxn=200000+1;
long n,a[maxn