栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

攻城(这是打比赛以来挖的最多的一次)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

攻城(这是打比赛以来挖的最多的一次)

C-攻城_第十九届同济大学程序设计竞赛暨高校网络友谊赛 (nowcoder.com)

链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
 

题目描述

Rolnan城有 n(0≤n≤105)n(0leq n leq 10^5)n(0≤n≤105) 个堡垒,每个堡垒有生命值 hi(1≤hi≤109)h_i(1leq h_i leq 10^9)hi​(1≤hi​≤109),当堡垒的生命值变为0,它将被摧毁,LiuGod可以使用魔法打击这些堡垒。

LiuGod的每次魔法可以对任意一个堡垒造成1点伤害;特别的,由于LiuGod很崇拜 `clearlove7` ,他的每第 7 次魔法(7/14/21/...)会对所有的堡垒造成1点伤害。

现在LiuGod为了彻底打击Rolnan,决定要在最后一次打击中一次性全部摧毁Rolnan城的堡垒,现在他想询问能不能完成。

注意,每次打击都必须完成;同时要保证每个堡垒只在最后一次打击中被摧毁。

输入描述:
第一行一个整数 T(1≤T≤103)T(1leq Tleq 10^3)T(1≤T≤103),表示数据组数。

接下来每组数据,第一行一个整数 nnn,接下来一行 nnn 个整数表示 h1,h2,…,hnh_1,h_2,dots,h_nh1​,h2​,…,hn​。

保证 ∑n≤106sum nleq 10^6∑n≤106。
输出描述:
对于每组数据,输出"YES"或"NO",表示能否达到LiuGod的要求。

示例1

输入

复制3 3 3 2 4 4 1 1 1 1 3 10 1 7

3
3
3 2 4
4
1 1 1 1
3
10 1 7
输出

复制YES NO NO

YES
NO
NO
备注:
n=0视为直接完成了任务

@@@@@@@@@****************

刚看题目的时候觉得很简单,但是前面wa的八次感觉都没有理解好题,一直都和七想到一起,对七整除和取模,后面看了题解之后,原来不是,是这样的,因为遇到是七的整除的数,.可以按一整个轮回求,每一轮就是(n+6),只要最后的总和是(n+6)的倍数,并且最小的那个数大于减去的总次数就就可以了,但是要n是0或1的时候要特判,要记得初始化

********************@@@@@@@@

#include 
#include 
using namespace std;
typedef long long ll;
const int N=1e5+10;
ll a[N];
ll n,b,t;
ll sum;
int main(){
	int i;
	scanf("%lld",&t);
	while(t--)
	{
		ll m=2e9;
		scanf("%lld",&n);
		sum=0;
		for(i=1;i<=n;i++)
		{
			scanf("%lld",&a[i]);
			sum=sum+a[i];
			m=min(m,a[i]);
		}
		if(n<=1)
		{
			puts("YES");
			continue;
		}
		if(sum%(n+6)==0&&m>=sum/(n+6)) puts("YES");
		else puts("NO");
	}
	return 0;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/923236.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号