小红直播

[题目链接](https://www.nowcoder.com/practice/3df5f72717a344019124a646c045579c)

思路

简单模拟题。按天顺序处理,每天先上班再直播:

  1. 上班 小时,焦虑度增加
  2. 直播 小时,焦虑度减少
  3. 如果焦虑度变为负数,将其置为

遍历所有 天后输出最终焦虑度即可。

样例演示

,上班时间 ,直播时间

  • 第 1 天:,直播后
  • 第 2 天:,直播后
  • 第 3 天:,直播后

输出

代码

#include <bits/stdc++.h>
using namespace std;
int main(){
    long long n, a, b;
    scanf("%lld%lld%lld", &n, &a, &b);
    vector<long long> w(n), l(n);
    for(int i=0;i<n;i++) scanf("%lld",&w[i]);
    for(int i=0;i<n;i++) scanf("%lld",&l[i]);
    long long ans = 0;
    for(int i=0;i<n;i++){
        ans += w[i] * a;
        ans -= l[i] * b;
        if(ans < 0) ans = 0;
    }
    printf("%lld\n", ans);
    return 0;
}
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        long a = sc.nextLong(), b = sc.nextLong();
        long[] w = new long[n], l = new long[n];
        for (int i = 0; i < n; i++) w[i] = sc.nextLong();
        for (int i = 0; i < n; i++) l[i] = sc.nextLong();
        long ans = 0;
        for (int i = 0; i < n; i++) {
            ans += w[i] * a;
            ans -= l[i] * b;
            if (ans < 0) ans = 0;
        }
        System.out.println(ans);
    }
}
import sys
input = sys.stdin.readline
n, a, b = map(int, input().split())
w = list(map(int, input().split()))
l = list(map(int, input().split()))
ans = 0
for i in range(n):
    ans += w[i] * a
    ans -= l[i] * b
    if ans < 0:
        ans = 0
print(ans)
const readline = require('readline');
const rl = readline.createInterface({ input: process.stdin });
const lines = [];
rl.on('line', line => lines.push(line.trim()));
rl.on('close', () => {
    const [n, a, b] = lines[0].split(' ').map(Number);
    const w = lines[1].split(' ').map(Number);
    const l = lines[2].split(' ').map(Number);
    let ans = 0;
    for (let i = 0; i < n; i++) {
        ans += w[i] * a;
        ans -= l[i] * b;
        if (ans < 0) ans = 0;
    }
    console.log(ans);
});

复杂度分析

  • 时间复杂度:,遍历每一天进行常数次运算。
  • 空间复杂度:,存储上班时间和直播时间数组。