ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

品种邻近(寒假每日一题 10)

2022-01-27 13:35:24  阅读:150  来源: 互联网

标签:10 邻近 int res 品种 idc 寒假 奶牛 ID


农夫约翰的 N N N 头奶牛排成一排,每头奶牛都用其品种 I D ID ID 进行描述。

如果两头相同品种的牛靠得太近,它们就会吵架。

具体的说,如果同一品种的两头奶牛在队列中的位置相差不超过 K K K,我们就称这是一对拥挤的牛。

请计算品种 I D ID ID 最大的拥挤奶牛对的品种 I D ID ID。

输入格式
第一行包含两个整数 N N N 和 K K K。

接下来 N N N 行,每行包含一个整数表示队列中一头奶牛的品种 I D ID ID。

输出格式
输出品种 I D ID ID 最大的拥挤奶牛对的品种 I D ID ID。

如果不存在拥挤奶牛队,则输出 − 1 −1 −1。

数据范围
1 ≤ N ≤ 50000 , 1 ≤ K < N , 1≤N≤50000, 1≤K<N, 1≤N≤50000,1≤K<N,
品种 I D ID ID 范围 [ 0 , 106 ] 。 [0,106]。 [0,106]。

输入样例:

6 3
7
3
4
2
3
4

输出样例:

4

样例解释
一对品种 I D ID ID 为 3 3 3 的奶牛以及一对品种 I D ID ID 为 4 4 4 的奶牛属于拥挤奶牛对。

所以,最大拥挤奶牛对的品种 I D ID ID 为 4 4 4。


简单模拟

#include<iostream>

using namespace std;

const int N = 1e6 + 10;

int n, k;
int q[N], idc[N];

int main(){
    
    scanf("%d%d", &n, &k);
    
    for(int i = 0; i < n; i++) scanf("%d", &q[i]);
    
    int res = -1;
    
    for(int i = 0; i < n; i++){
        
        int x = q[i];
        if(i > k) idc[q[i - k - 1]]--;
        idc[x]++;
        if(idc[x] > 1) res = max(res, x);
    }
    
    printf("%d\n", res);
    
    return 0;
}

标签:10,邻近,int,res,品种,idc,寒假,奶牛,ID
来源: https://blog.csdn.net/qq_46456049/article/details/122691242

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有