2015.7.15 codeforces 2组B题
来源:互联网 发布:noteexpress mac版 编辑:程序博客网 时间:2024/06/10 09:44
题目源
#include <iostream>#include <cstdio>#include <cmath>#include <string>#include <cstring>#include <algorithm>#include <queue>#include <map>#include <set>#include <stack>#include <sstream>#define PI acos(-1.0)const int inf = (1<<30) - 10;using namespace std;inline int get_int(){ int r=0; char c; while((c=getchar())!=' '&&c!='\n') r=r*10+c-'0'; return r;}inline void out(int x){ if(x>10) { out(x/10); } putchar(x % 10 + '0'); putchar('\n');}/****************************************/int a[100005]; //输入记录;int b[1000005]; //总数记录int c[1000005]; //初始位置记录int main(){ int n,l,m,r,k,i; scanf("%d",&n); m=0; //记录最大出现数 for(i=1;i<=n;i++) { scanf("%d",&a[i]); b[a[i]]++; if(b[a[i]]==1) //记录首次出现的位置 { c[a[i]]=i; } if(b[a[i]]>m) //记录最大出现数 { m=b[a[i]]; } } k=inf; //记录最小间隔 for(i=n;i>=1;i--) //搜索最后位置 { if(b[a[i]]==m) //如果为最大出现数 { if(i-c[a[i]]<=k) //找到最小间隔数并更新 { l=c[a[i]]; r=i; k=i-c[a[i]]; } b[a[i]]--; //注销最大出现数,防止再次被搜索 } } printf("%d %d",l,r);}
0 0
- 2015.7.15 codeforces 2组B题
- Codeforces (439B) Round #251 (div.2) B题
- Codeforces (441B) Round #252 (Div. 2) B题
- Codeforces 617B Chocolate (Round #340 (Div. 2) B题)
- [刷题笔记]Codeforces 15B
- Codeforces Beta Round #2--B题 (DP)
- Codeforces Round #169 (Div. 2) B题
- Codeforces Round #188 (Div. 2) B题
- Codeforces Round #218 (Div. 2) B题
- Codeforces Round #238 (Div. 2) B题
- Codeforces 242(DIV 2) B题
- 周赛2-CodeForces 445B-E 题
- Codeforces Round #402 (Div. 2) B题
- Codeforces Round #404 (Div. 2) B题
- Codeforces Round #446 (Div. 2) B 题
- Codeforces 15B Laser
- CodeForces 15B Laser
- CodeForces 15B Laser
- 图像合成(一)--三角剖分
- 【计蒜客系列】挑战难题13:整数转换成罗马数字
- Unix Mac OS下JAVA的安装路径
- Android自定义实现圆形播放进度条
- c++学习笔记(一)
- 2015.7.15 codeforces 2组B题
- 对XML文件的解析,DOM、SAX、JDOM、JAXB还有dom4
- IOS开发常用的三方库以及Xcode常用插件
- laravel5.0 服务器上被坑的 bootstrap
- 【工作日志】【asp】asp学习
- linux 下LNMP环境搭建
- cf558B查找最短的最大区间段,利用二维数组巧妙简化运算
- MarkDown基本语法
- poj~1915(bfs)