2.H : 比k大的数

news/2024/7/7 19:04:57

 Time Limit: 2 Sec     Memory Limit: 128 Mb


Description

给出一个由n个整数组成的数列 a1, a2, a3, ..., an

之后给出m个整数k。 问:对于每一个k,数列中有多少个数比k大?

Input

输入共包括三行

第一行是两个由空格隔开的正整数n和m

第二行是由n个整数组成的数列 a1, a2, a3, ..., an ,数与数之间由空格隔开。

第三行有m个整数k,数与数之间由空格隔开。

保证 0 < n ≤ 1 × 103; 0 < m ≤ 1 × 103;  − 1 × 103 ≤ a1, a2, a3, ..., an ≤ 1 × 103;  − 1 × 106 ≤ k ≤ 1 × 106;

Output

输出共包括m行,每行一个整数,表示数列中有多少个数比k大

Sample Input

5 5
1 2 3 4 5
3 5 4 6 -1

Sample Output

2
0
1
0
5

Hint

题目给的数据范围很小(-1000~1000),可以先统一映射到 0~2000,统计总数与前缀和
对于每个 k,超出范围可直接得结果,范围内就用总数减去前缀和。

代码实现

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include <math.h>
#define ll long long

/*
题目给出的范围为-1000到1000,可将其映射到0到2000
1.当k+1000<0,说明所有数都比k大
2.当k+1000>2000,说明所有数都比k小
3.当0<=k+1000 && k+1000<=2000,sum-cnt[k]
sum: 存所有数总和n
cnt[k]: 存所有比k小的数
*/

const int Maxn = 2e3 + 10;
int a[Maxn], cnt[Maxn];
int sum, ans;

int main()
{
	int n, m;
	while (scanf("%d%d", &n, &m) != EOF)
	{
		memset(cnt, 0, sizeof(cnt));
		for (int i = 0; i < n; i++)
		{
			scanf("%d", &a[i]);
			cnt[a[i] + 1000]++;
		}
		sum = n;
		for (int i = 1; i <= 2000; i++)
		{
			cnt[i] += cnt[i - 1];
		}
		for (int i = 0; i < m; i++)
		{
			int k;
			scanf("%d", &k);
			k += 1000;
			if (k < 0)ans = sum;
			else if (k > 2000)ans = 0;
			else ans = sum - cnt[k];
			printf("%d\n", ans);
		}
	}
}


http://lihuaxi.xjx100.cn/news/1278687.html

相关文章

超越竞争,使用Framework技术赢得市场份额

Framework为什么这么重要&#xff1f; 在Android开发中&#xff0c;Framework&#xff08;框架&#xff09;是非常重要的&#xff0c;因为它提供了一套已经实现的软件组件和工具&#xff0c;以支持开发者构建应用程序。以下是Framework在Android开发中的重要性&#xff1a; 提…

网络安全行业,面对供大于求的现状是怎么样的呢?

一、网络安全行业市场发展情况 网络时代生活越来越离不开网络&#xff0c;与此同时发生的网络安全攻击事件、非法入侵等等一系列事件都威胁着普通人的生活。没有网络安全保障&#xff0c;个人和企业等重要领域都暴露在风险之中。 二、网络安全行业人才发展需求 网络安全行业至…

界面组件DevExpress WinForm v23.1新版亮点 - 皮肤矢量图标全新升级

DevExpress WinForms拥有180组件和UI库&#xff0c;能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForms能完美构建流畅、美观且易于使用的应用程序&#xff0c;无论是Office风格的界面&#xff0c;还是分析处理大批量的业务数据&#xff0c;它都能轻松胜…

黑产科普丨揭秘游戏黑灰产业链

自今年起&#xff0c;游戏版号已恢复常态化发放&#xff0c;游戏行业在官方发文肯定、重获资本青睐、AI降本增效等多方助力下持续回暖。暑期档将至&#xff0c;游戏厂商为了抢占更多的市场份额&#xff0c;占据更多的玩家视野&#xff0c;将有大量的游戏选择在这个时间上线。 …

抖音林客生活服务商机构

抖音林客生活服务商机构是在抖音平台上提供各种生活服务的机构或组织。这些机构通常会提供家政服务、保洁服务、美容美发服务等&#xff0c;也有一些提供餐饮、旅游、电商等服务。用户可以通过抖音搜索、浏览和下单&#xff0c;享受到优质的服务体验。 这些服务商机构在抖音…

一线大厂最全Java面试题及答案整理汇总(2023最新版)

程序员一步入中年&#xff0c;不知不觉便会被铺天盖地的“危机感”上身&#xff0c;曾经的那个少年已经不在&#xff0c;时间就是这样公平。就算你能发明 Java 语言&#xff0c;随着时间的推移&#xff0c;你注定还是要成为慢慢变蔫的茄子&#xff0c;缓缓变黑的葡萄。 看着金…

尚硅谷大数据Flink1.17实战教程-笔记02【Flink部署】

尚硅谷大数据技术-教程-学习路线-笔记汇总表【课程资料下载】视频地址&#xff1a;尚硅谷大数据Flink1.17实战教程从入门到精通_哔哩哔哩_bilibili 尚硅谷大数据Flink1.17实战教程-笔记01【Flink概述、Flink快速上手】尚硅谷大数据Flink1.17实战教程-笔记02【Flink部署】尚硅谷…

制造业质量管理如何实现数字化转型?这份指南讲透了

一、什么是制造业质量管理 制造业质量管理是现代制造业非常重要的一个方面。它包括了一系列的活动和方法&#xff0c;以确保制造产品或提供服务的过程中&#xff0c;实现高质量标准的目标。 制造业质量管理包括质量规划、控制和改进等各种方法和工具&#xff0c;以确保产品或…