DT. 完善程序题-6002

    客观题

完善程序题-6002

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

完善程序题:最长连续正数子段

【问题描述】
给定一个长度为n((1 \le n \le 10^5))的整数序列,求最长的连续子数组的长度,使得子数组中的每个元素都大于0(正数)。
如果所有数都不是正数,输出0。

【输入格式】
第一行一个整数n
第二行 n 个整数

【输出格式】
一个整数,表示最长连续正数子段的长度

【样例输入1】

6
1 -2 3 4 5 -1

【样例输出1】

3

(解释:子段 3 4 5 长度3)

【样例输入2】

4
-1 -2 -3 -4

【样例输出2】

0

【代码框架】

#include <bits/stdc++.h>
using namespace std;
int a[100005];
int main() {
    int n;
    cin >> n;
    for (int i = 1; i <= n; i++) cin >> a[i];
    int cur = ___(1)___;
    int ans = ___(1)___;
    for (int i = 1; i <= n; i++) {
        if (a[i] > 0) {
            cur++;
            if (cur > ans) ___(2)___;
        } else {
            if (cur > ans) ___(3)___;
            cur = ___(4)___;
        }
    }
    if (cur > ans) ___(5)___;
    cout << ans;
    return 0;
}

【选择题】

  1. (1) 处应填入? {{ select(1) }}
  • A. 0
  • B. 1
  • C. -1
  • D. n
  1. (2) 处应填入? {{ select(2) }}
  • A. ans = cur
  • B. cur = ans
  • C. ans++
  • D. continue
  1. (3) 处应填入? {{ select(3) }}
  • A. ans = cur
  • B. cur = ans
  • C. ans = 0
  • D. break
  1. (4) 处应填入? {{ select(4) }}
  • A. 0
  • B. 1
  • C. cur
  • D. ans
  1. (5) 处应填入? {{ select(5) }}
  • A. ans = cur
  • B. cur = ans
  • C. ans = 0
  • D. return 0

【参考答案】

  1. A
  2. A
  3. A
  4. A
  5. A

市赛题汇总

未参加
状态
已结束
规则
ACM/ICPC
题目
373
开始于
2026-4-24 0:00
结束于
2026-4-24 2:00
持续时间
2 小时
主持人
参赛人数
0