当前位置:网站首页>2022.8.8考试清洁工老马(sweeper)题解
2022.8.8考试清洁工老马(sweeper)题解
2022-08-10 01:55:00 【bj_hacker】
题目
3、清洁工老马(sweeper)–900
时间限制: | 空间限制:
题目描述:
有 个自然数 。
请找出至少进行多少次操作使 ,一次操作包括如下步骤:
1.选择两个整数 满足 ,且 ;
2.将 修改为 ;
3.将 修改为 。
共 组测试数据。
输入格式:
第一行仅有一个正整数 ( ),表示测试数据的组数。
接下来有 组测试数据:
第一行有一个正整数 ( ,且所有测试数据中 之和不超过 );
第二行为 个整数 ( )。
输出格式:
对于每组测试数据,输出一行一个整数,表示至少多少次操作(可以为0)。
思路
思路为搭桥,0要用一个去补,所有的大于0的去相加,第一个非0数后的0算作1去相加 搭桥 {搭桥} 搭桥,不算最后一个。
重点
ans最大为2*105*109= 2 * 1014
要开long long
代码实现
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int maxn=2e5+10;
int t,n;
ll ans;
int a[maxn];
int main(){
scanf("%d",&t);
while(t--){
ans=0;
bool flag=false;
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
if(i==n)break;
if(a[i]){
ans+=a[i];
flag=true;
}
else {
if(flag)ans++;
else continue;
}
}
printf("%lld\n",ans);
}
return 0;
}
边栏推荐
- 剑指offer专项突击版第25天
- 微透镜阵列后光传播的研究
- 浏览器中location详解
- 【二叉树-中等】1104. 二叉树寻路
- FusionConpute虚拟机的发放与管理
- In the 2022 gold, nine, silver and ten work tide, how can I successfully change jobs and get a high salary?
- The shell specifies the parameter name to pass the parameter
- 程序员的专属浪漫——用3D Engine 5分钟实现烟花绽放效果
- [QNX Hypervisor 2.2用户手册]10.14 smmu
- Unity editor extension interface uses List
猜你喜欢
随机推荐
Unity开发者必备的编辑器技巧
《GB39732-2020》PDF下载
程序员的专属浪漫——用3D Engine 5分钟实现烟花绽放效果
[论文阅读] Diverse Image-to-Image Translation via Disentangled Representations
【二叉树-中等】687. 最长同值路径
Premint工具,作为普通人我们需要了解哪些内容?
OpenCV图像处理学习四,像素的读写操作和图像反差函数操作
深度学习(五) CNN卷积神经网络
Database management tool: dynamic read-write separation
阿里云OSS文件上传
Maya制作赛博朋克机器人模型
OpenSSF的开源软件风险评估工具:Scorecards
QT中,QTableWidget 使用示例详细说明
如何让数据库中的数据同步
[Syntax sugar] About the mapping of category strings to category numeric ids
Open3D 网格均匀采样
gbase 8a数据库如何查看数据或数据文件是否正常?
volatile 关键字(修饰符 volatile 告诉编译器,变量的值可能以程序未明确指定的方式被改变)
.Net interview experience summary
SQLserver加个判断









