华为OD2023(A卷)基础题21【日志采集系统】

日志采集系统

题目

日志采集是运维系统的的核心组件。日志是按行生成,每行记做一条,由采集系统分批上报。 如果上报太频繁,会对服务端造成压力; 如果上报太晚,会降低用户的体验; 如果一次上报的条数太多,会导致超时失败。 为此,项目组设计了如下的上报策略:

  1. 每成功上报一条日志,奖励1
  2. 每条日志每延迟上报1秒,扣1
  3. 积累日志达到100条,必须立即上报 给出日志序列,根据该规则,计算首次上报能获得的最多积分数。

输入

按时序产生的日志条数 T_1T1​,T_2T2​...T_nTn​, 其中 1≤n≤1000,0≤T_iTi​≤100

输出描述

首次上报最多能获得的积分数

import java.util.Scanner;

/**
 * 假设输入的日志顺序为T1,T2,...,Tn,代码的运行流程如下:
 * 初化积分得分、延迟延迟和日志条数计为0。
 * 依次阅读进入每条日志的生产时间ti:
 * 将当日志条数计数加1。
 * 累计延迟延迟加上ti。
 * 如果计数达到100,说明需要立 即上报,计算得分并重新设置计数和延迟:
 * 得分等于100 - delay,因为每延迟1秒扣1分,所以延迟delay秒会扣掉delay分。
 * count 和 delay 重设为0。
 * 继续阅读下一条日志。
 * 如果还有遗余的日志未上报,计算得分并输出:
 * 得等于count-delay&#

你可能感兴趣的:(算法,华为od)