B - Amr and The Large Array

题目链接:http://codeforces.com/problemset/problem/558/B

 

题意:

一个序列的美丽程度与其中某个数重复次数的最大值有关。求最短的子序列(连续的一段)使得其美丽程度与原序列相等。

 

 1 #include <iostream>
 2 #include <algorithm>
 3 #include <stdlib.h>
 4 #include <string>
 5 #include <string.h>
 6 #include <set>
 7 #include <queue>
 8 #include <stdbool.h>
 9 
10 #define LL long long
11 using namespace std;
12 const int maxn = 1e5 + 10;
13 
14 
15 struct Node{
16     int val;
17     int pos;
18 }arr[maxn];
19 
20 bool cmp(Node a,Node b){
21     if (a.val != b.val){
22         return a.val < b.val;
23     }
24     else{
25         return a.pos < b.pos;
26     }
27 }
28 
29 
30 int main(){
31     int n;
32     scanf("%d",&n);
33     for (int i=1;i<=n;i++){
34         scanf("%d",&arr[i].val);
35         arr[i].pos = i;
36     }
37     sort(arr+1,arr+1+n,cmp);
38     int ansl,ansr;
39     int start = 1;
40     int len = 0,cnt = 1;
41     for (int i=2;i<=n;i++){
42         if (arr[i].val == arr[i-1].val){
43             cnt++;
44         }
45         else{
46             if (cnt > len){
47                 ansl = arr[start].pos;
48                 ansr = arr[i-1].pos;
49                 len = cnt;
50             }
51             else if (cnt == len){
52                 if (arr[i-1].pos-arr[start].pos+1 < ansr-ansl+1){
53                     ansl = arr[start].pos;
54                     ansr = arr[i-1].pos;
55                 }
56             }
57             start = i;
58             cnt = 1;
59         }
60     }
61     if (cnt > len){
62         ansl = arr[start].pos;
63         ansr = arr[n].pos;
64     }
65     else if (cnt == len){
66         if (arr[n].pos-arr[start].pos+1 < ansr-ansl+1){
67             ansl = arr[start].pos;
68             ansr = arr[n].pos;
69         }
70     }
71     printf("%d %d\n",ansl,ansr);
72     return 0;
73 }

 

全部评论

相关推荐

1.&nbsp;事件概述3月10日下午,华为在“心声社区”发布长达6500字通报,曝光72名正式员工及19名非雇员在非雇员招聘中存在徇私舞弊行为,多人出卖公司信息资产获利,引发热议。-&nbsp;“非雇员”一般指华为OD员工,与人力服务公司签劳动合同,以派遣方式到华为工作,薪资待遇与华为内部员工基本一致,可通过考核转正。2.&nbsp;相关传言与真相华为相关人士称暂无官方回应,很多传言细节不准确。&nbsp;华为成都研究所员工透露,此次通报主要涉及成都研究所的数据存储部门,整个数据存储业务约100余人,此次明文通报除名辞退或通报批评的有62名,“很多部门基本全开除”&nbsp;。网传任正非亲赴成都、封楼抓人等消息不实。早在2024年年中,就有...
七安有出处嘛:省流:任正非亲赴成都等消息不实,2024 年年中就有人举报了;涉及36名违规当事人,其中有13人被除名;10人有主动申报情节或情节较严重的,予以辞退处理;另有13人被劝退、个人职级降3等。另外还有26名相关管理责任人作为直接或间接管理者,被处以个人职级降6等,冻结个人涨薪、职级晋升、干部向上任命,冻结期6—12个月不等;若下属违规偶发,则仅通报批评。并没有释放100HC😂😂😂
点赞 评论 收藏
分享
神哥不得了:神哥来啦~自我评价和校园经历的话可以直接删了,从大厂暑期的话应该没有什么太多问题,应该是能拿到很多大厂面试机会的,就是在面试的时候表示的好一点就行,可以在面试前先把高频top 50的八股多巩固几遍,千万不要看那些假高频八股,这两个项目的话问题不是很大,应该能够帮你找到大厂实习的,算法的话一定要刷起来,因为大厂有些还是比较看重算法的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务