当前位置:网站首页>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;
}
边栏推荐
- Golang nil的妙用
- FusionConpute虚拟机的发放与管理
- Fusion Compute网络虚拟化
- C# 单例模式
- 2022杭电多校联赛第七场 题解
- 元素的盒子模型+标签的尺寸大小和偏移量+获取页面滚动距离
- SQLserver加个判断
- 程序员的专属浪漫——用3D Engine 5分钟实现烟花绽放效果
- ImportError: Unable to import required dependencies: numpy
- Unity reports Unsafe code may only appear if compiling with /unsafe. Enable “Allow ‘unsafe’ code” in Pla
猜你喜欢
随机推荐
Redis - String|Hash|List|Set|Zset数据类型的基本操作和使用场景
中英文互译在线翻译-在线翻译软件
进程管理和任务管理
web crawler error
【论文粗读】(NeurIPS 2020) SwAV:对比聚类结果的无监督视觉特征学习
FusionConpute虚拟机的发放与管理
flask增删改查
微生物是如何影响身体健康的
Research on Ethernet PHY Chip LAN8720A Chip
墨西哥大众VW Mexico常见的几种label
[Turn] Typora_Markdown_ picture title (caption)
2022年8月8日-2022年8月15日,ue4视频教程+插件源码()
【wpf】拖拽的简单实现
基于FTP协议实现文件上传与下载
JCMsuite—单模光纤传播模式
OpenCV图像处理学习四,像素的读写操作和图像反差函数操作
Initial attempt at UI traversal
【二叉树-中等】1104. 二叉树寻路
如何让数据库中的数据同步
牛客刷题——剑指offer(第四期)