首页 > 试题广场 >

排队选人

[编程题]排队选人
  • 热度指数:1483 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
小D是一名老师,他想选出一些同学参加一个团体比赛。
总共有n个同学,每个同学有一个能力值x和一个合作值y,小D将这些同学排成一排。
选人的规则如下:小D将选择一排中连续的k个同学参加比赛,而且为了保证比赛成绩,这k个同学的能力值不能小于a,合作值不能小于b。小D想知道总共有多少种可能的选人方案。

输入描述:
第一行四个正整数n,k,a,b。
第二行n个通过空格隔开的正整数表示一排n个同学的能力值。
第二行n个通过空格隔开的正整数表示一排n个同学的合作值。

n <= 80000,
保证k<=n且x,y,a,b<=100000。


输出描述:
输出一个非负整数表示选人方案数。
示例1

输入

10 2 2 4
2 2 9 1 8 1 6 1 7 7
4 8 5 1 9 4 1 3 9 4

输出

3

说明

有选择第1,2两个人,第2,3两个人,第9,10两个人三种方案。

备注:

头像 饥饿的中国人offer多多
发表于 2025-08-23 20:17:33
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n 展开全文
头像 丨阿伟丨
发表于 2025-09-12 09:59:48
题目链接 排队选人 题目描述 总共有 个同学排成一排,每个同学有两个属性:能力值 和合作值 。 需要从中选出连续的 个同学,同时要求这 个同学中,每个人的能力值都不小于 ,合作值都不小于 。 求解总共有多少种满足条件的选人方案。 解题思路 这是一个简单的滑动窗口或线性扫描问题。我们的目标是找 展开全文
头像 牛可乐12z
发表于 2025-09-16 15:19:28
#include <ios> #include <iostream> #include <queue> #include <vector> using namespace std; int main() { int n,k,a, b; 展开全文
头像 猫狗Cola
发表于 2025-07-27 19:23:22
#include <iostream> #include <bits/stdc++.h> using namespace std; int main() { int n, k, a, b; cin >> n >> k >> 展开全文