蓝桥杯 算法训练 比较
2022/1/25 12:37:26
本文主要是介绍蓝桥杯 算法训练 比较,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
给出一个n长的数列,再进行m次询问,每次询问询问两个区间[L1,R1],[L2,R2],
询问数列第L2到R2个数字每一个数在数列第L1到R1个数中有多少个数字不大于它。
输入格式
第一行两个整数n,m
第二行n个整数,表示数列。
接下来m行,每行四个整数L1,R1,L2,R2,意义如上
输出格式
m行,每行R2-L2+1个整数,第一个整数表示第L2个数在数列第L1到R1个数中不大于它的个数,第一个整数表示第L2+1个数在数列第L1到R1个数中不大于它的个数,以此类推
样例输入
5 3
5 2 3 4 1
1 2 3 4
2 3 1 5
1 5 2 3
样例输出
1 1
2 1 2 2 0
2 3
数据规模和约定
n,m<=1000,数列的数字非负且小于1000。
#include<iostream> //#include<bits/stdc++.h> using namespace std; int main() { int n, m; cin >> n >> m; int lst[n]; for (int i = 0; i < n;i++) { cin >> lst[i]; } int LR[m][4];//保存所有的L和R,依次为L1,R1,L2,R2 for (int i = 0; i < m;i++) { scanf("%d%d%d%d", LR[i], LR[i] + 1, LR[i] + 2, LR[i] + 3); } for (int i = 0; i < m;i++)//共有m行操作 { for (int j = LR[i][2]-1; j < LR[i][3]; j++)//把L2-R2之间的值与L1-R1之间的值进行比较 { int count = 0;//计数 for (int k = LR[i][0]-1; k < LR[i][1];k++) { if(lst[k]<=lst[j])//不大于 count++; } cout << count << " "; } cout << endl; } system("pause"); return 0; }
这篇关于蓝桥杯 算法训练 比较的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现
- 2024-05-30我们小公司,哪像华为一样,用得上IPD(集成产品开发)?