问题 M: 最亲密的x个人
2024-09-05 20:46:53
问题 M: 最亲密的x个人
时间限制: 1 Sec 内存限制: 128 MB
提交: 412 解决: 38
[提交] [状态] [命题人:jsu_admin]
题目描述
有一天,地球受到了降维打击,从三维变成了一维。从此我们都生活在一条线上,给这条线加上坐标,每个点都是大于等于 0 的正整数。
有一天小明突发奇想,想知道谁是他最亲密的人,距离小明越近的人和小明越亲密。
假设有 N 个人,每个人的编号为 i(1 <= i <= N ),坐标为 ki(k[i-1] <= k[i] <= k[i+1]),小明的坐标为 M(小明是 N 个人中的一个),你们可以帮助小明找到他最亲密的 X个人的编号吗?
输入
多组输入
对于每组数据,第一行为三个整数N(0<N<=100000 )、M(0<M<=100000000)、X(X <= N && X <= 100)
第二行有N个数,分别表示 N 个人的坐标
对于每组数据,第一行为三个整数N(0<N<=100000 )、M(0<M<=100000000)、X(X <= N && X <= 100)
第二行有N个数,分别表示 N 个人的坐标
输出
小明最亲密的 X 个人的编号(亲密度相同的,按id从小到大输出。如果第 x+1 个人和第 x 个人一样亲密,也需要输出)
样例输入 Copy
3 2 1
1 2 4
3 2 1
1 2 3
样例输出 Copy
1
1
3
定义一个结构体包含 x,id,dis dis 为到 m 的距离 然后排序,按距离小的排在前面, 距离相同 时编号小排前
输出前 x 个人即可,再判断第 x+1 个人的距离是否和第 x 个人一样,是的话输出,反 之不输出
#include <bits/stdc++.h>
#include<iostream>
#include<algorithm>
#include<cstdlib>
#include<cstring>
#include<cstdio> //#define DEBUG
#define RI register int
using namespace std;
typedef long long ll;
//typedef __int128 lll;
const int N=+;
const int MOD=1e9+;
const double PI = acos(-1.0);
const double EXP = 1E-;
const int INF = 0x3f3f3f3f;
int t,n,m,k,q;
struct node{
int id,x;
bool operator <(const node &S)const{
if(x==S.x)
return id<S.id;
return x<S.x;
}
}a[N];
int main()
{ while(scanf("%d%d%d",&n,&m,&k)!=EOF){
for(int i=;i<=n;i++){
scanf("%d",&t);
a[i].id=i;
a[i].x=abs(t-m);
}
sort(a+,a+n+);
int cnt=;
t=;
while(cnt<k){
if(a[t].x!=){
//cnt++;
q=a[t].x;
while(q==a[t].x&&cnt<=k){
cout << a[t].id << endl;
t++;
cnt++;
}
}else{
t++;
} }
} //cout << "Hello world!" << endl;
return ;
}
最新文章
- Impress.js上手 - 抛开PPT、制作Web 3D幻灯片放映
- java 方法参数-值调用,引用调用问题
- 我写了一个java实体类,implements了Serializable接口,然后我如何让serialversionUID自动生成
- 山东理工大学第七届ACM校赛-飞花的鱼塘 分类: 比赛 2015-06-26 10:30 43人阅读 评论(0) 收藏
- PHP 生成指定大小随机图片
- java.lang.NoSuchMethodError: org.springframework.beans.factory.annotation.InjectionMetadata.<;init>;(L
- kubernetes 报错汇总
- c#中的特性Attribute
- socket基础编程-1
- js设计模式(三)---代理模式
- JavaBasic_09
- IntellJ IDEA 2017 激活编译器配置,读取多个配置文件
- Oracle EBS OPM convert dtl reservation
- 网络构建入门技术(2)——IP子网划分
- mysql 查看某个库下面某个表的所有列字段, columnName
- 新购买的vps应该做的几件事情
- Vue 框架-07-循环指令 v-for,和模板的使用
- linux 基本配置tab键和显示行号 和中文输入法
- PHPCMS v9设置文章的审核功能
- javascript对字符串的常见操作trim,ltrim,rtrim,isEmpty,isFloat等
热门文章
- sqlserver数据库脱机和分离的区别
- linux运维、架构之路-实时同步方案
- CSS盒子模型中的Padding属性
- 配置 app.js 文件
- [HDU]P2586 How far away?[LCA]
- [CF938E]Max History题解
- jquery ajax实现文件上传
- Android内嵌网页webview点击其中的链接跳转到我们应用内的Activity
- UNR#3 Day1——[ 堆+ST表+复杂度分析 ][ 结论 ][ 线段树合并 ]
- java 线程池的创建方式