首页 > 其他分享 >「ABC339C」 Perfect Bus

「ABC339C」 Perfect Bus

时间:2024-02-23 20:46:04浏览次数:14  
标签:Perfect Bus ll mn long 负数 ABC339C 人数

题意

有一辆公交车,路上会在 \(N\) 个站点停靠,每个站点会有 \(A_i\) 个乘客上下车(正数表示上车,负数表示下车)。

请选择一个恰当的正整数作为起始时车上的人数,使得路途中乘客的人数总为非负数。然后输出最终车上的人数

分析

从头到尾遍历一遍 \(A\) ,计算总和 \(s\) ,这是到达终点后人数的变化量。

在计算 \(s\) 时,若 \(s\) 为负数,那就说明在开始需要至少为 \(|s|\) 的人数与 \(s\) 抵消。可以再用一个 \(mn\) 记录最小的 \(s(s<0)\) ,在最后,\(|mn|\) 就是最小的起始人数。

Code

#include<bits/stdc++.h>
typedef long long ll;
using namespace std;
ll n,a[200005],s,mn=0x3f,sta;
signed main(){
    cin>>n;
    for(ll i=1;i<=n;++i){
        cin>>a[i];
        s+=a[i];
        mn=min(mn,s);
        if(mn<0)sta=max(sta,abs(mn));
    }
    cout<<sta+s;
    return 0;
}

标签:Perfect,Bus,ll,mn,long,负数,ABC339C,人数
From: https://www.cnblogs.com/run-away/p/18030328

相关文章

  • Modbus RTU通过从站地址获取校验码的代码
    主要方法拆分高低位计算校验码完整通过从站地址获取校验码的代码usingSystem;classProgram{staticvoidMain(){Console.Write("请输入从站地址(十六进制):");stringslaveAddressInput=Console.ReadLine();bytesl......
  • guava中eventbus用法
    ​ google的event事件机制可以用于解耦,类似于spring的事件机制,可以同步也可以异步。定时事件(类型随意,guava调度的时候会根据对应的类型调对应的handler)packagegoogle.event;importlombok.AllArgsConstructor;importlombok.Data;@Data@AllArgsConstructorpublic......
  • 解决Linux卸载磁盘时出现umount: /home/mrc/wanglab: target is busy.
    问题描述:/home/mrc/wanglab是数据的挂载点,出现问题时我正在将数据从挂载点cp到本地,导致数据挂载点的数据无法访问(ls/home/mrc/wanglab会卡死)。于是我尝试umount,报以下错误:mrc@mrc-Precision-3660:~$sudoumount./wanglabumount:/home/mrc/wanglab:targetisbusy.错误产生......
  • Modbus Slave 软件使用详解
    软件介绍         ModbusSlave是一个模拟Modbus协议从机的上位机软件,主要用于模拟测试跟其他主机设备通信的过程。与之成套存在的另一个软件--ModbusPoll,则是模拟Modbus协议主机的上位机软件。该软件内部封装标准Modbus协议栈,通过图形化界面使得操作更为简便。目前软......
  • strace lsscsi(busybox)
    execve("/system/xbin/lsscsi",["lsscsi"],0x7fcdeb06c0/*24vars*//data/local/tmp/strace:[ProcessPID=32427runsin32bitmode.]/data/local/tmp/strace:WARNING:Properstructuredecodingforthispersonalityisnotsupported,ple......
  • 常用的MODBUS协议测试工具推荐
    介绍一些常用的MODBUS测试工具。1、ModscanModscan是一款免费的MODBUS测试工具,支持ModbusRTU和TCP和ASCII协议。它可以进行单点和多点的读写操作,并且可以生成MODBUS协议相关的报告。还支持模拟器模式,使用户可以通过虚拟设备对ModBus进行测试。2、CASModbusS......
  • Gym 104855E Perfect Permutation
    考虑最后对于每个\(i\)是选\(a_i,b_i,c_i\)之中哪一个的序列。通过观察能发现序列去掉\(b\)后满足开头为\(c\)末尾为\(a\)这个序列就是合法的,同时整个序列都为\(b\)也是合法的。首先如果是个合法序列,对于去掉\(b\)后的开头,其余不是\(b\)的下标肯定比其大,所以......
  • CF1338C Perfect Triples 题解
    解题思路没什么好说的,就是打表找规律……表在这里不难发现,三元组中第一个数的最后两位按照\(00\to01\to10\to11\)的顺序变化,其他位也一样,同样,第二个数和第三个数中每两位分别按照\(00\to10\to11\to01\)和\(00\to11\to01\to10\)的顺序变化,且与第一个数对应变化......
  • CF1603E A Perfect Problem
    一个完美的序列满足任何非空子序列的最大值与最小值乘积大于等于其总和,求长度为\(n\),值域为\([1,n+1]\)的完美序列个数,对质数\(M\)取模。\(n\le200\)给这个序列排序后,注意到如果所有前缀合法,那么任何子序列都合法。一个观察是,如果第一个数太小,那么总是无解。设第一个数......
  • modbus crc16校验
    //计算crc16位校验,如计算结果是0x5566,则高字节是55,低字节是66,需要根据情况交换高低字节quint16checkCrc16(quint8*ptr,intlen){unsignedinti;quint16crc=0xFFFF;while(len--){crc^=*ptr++;for(i=0;i<8;++i)......