题目地址:http://oj.cust.edu.cn/problem/76
题目:
描述
“炉石传说”是一款快乐的卡牌类游戏,其中有一张牌为“亵渎”,其效果如下:
对敌方随从全部造成1点伤害,如果有随从死亡,则重复此效果--即再次对敌方所有随从造成1点伤害,
直到重复某次效果后敌方没有随从死亡/敌方全部随从死亡为止。
例:敌方有三个随从,生命值分别为1,2,3。则使用“亵渎”牌后敌方随从会全部死亡。
如果敌方随从在使用“亵渎”牌后全部死亡,lzp会非常的快乐。
现给出敌方随从的数量,以及他们的生命值,问lzp打完“亵渎”牌后是否会快乐。
如果lzp快乐,则输出“YES”,否则则输出“NO”
输入
多组输入,每组第一行输入一个数n(1<=n<=10),代表敌方随从的数量, 第二行输入n个数,a1,a2....an,(1<=ai<=10)代表n个随从的生命值。
输出
每组输出一行,每行输入一个单词“YES”或“NO”(输出不包含引号), YES表示lzp会感到快乐,NO表示lzp不会快乐。
输入样例 1
5 1 2 3 4 5 5 1 2 3 3 2 5 1 1 3 4 5
输出样例 1
YES YES NO
代码:
#include<iostream>
#include<cmath>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
using namespace std;
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
int a[11];
for(int i=0;i<n;i++)
{
cin>>a[i];
}
sort(a,a+n);
if(a[0]!=1)cout<<"NO"<<endl;
else{
int k=0;
for(int i=1;i<n;i++)
{
if(a[i]-a[i-1]>1){k=1;break;}
}
if(k==1)cout<<"NO"<<endl;
else cout<<"YES"<<endl;
}
}
return 0;
}