23| 画展

代码实现

cpp 复制代码
const int N = 1e6 + 10;
int n, m; 
int a[N], mp[N], kind, cost, ret;

int main()
{
	cin >> n >> m;
	for (int i = 1; i <= n; i++) cin >> a[i];
	int l = 1, r = 1;
	cost = n, ret = 1;
	while(r <= n)
	{
		// 进窗口
		mp[a[r]]++;
		if (mp[a[r]] == 1) kind++;
		
		while(kind == m)
		{
			// 更新结果
			int tmp = r - l + 1; 
			if (tmp < cost)
			{
				ret = l;
				cost = tmp;
			}
			// 出窗口
			mp[a[l]]--;
			if(mp[a[l]] == 0) kind--;
			l++;
		 } 
		 
		 r++;
	}
	cout << ret << " " << ret + cost -1 << endl;
	return 0;
}
相关推荐
王老师青少年编程1 小时前
2020年信奥赛C++提高组csp-s初赛真题及答案解析(选择题11-15)
c++·题解·真题·初赛·信奥赛·csp-s·提高组
Jasmine_llq1 小时前
《AT_arc081_d [ARC081F] Flip and Rectangles》
算法·动态规划(dp)·贪心思想扩展 / 收缩边界·预处理转换网格状态·二维数组遍历实现逐点计算
我 see your eyes2 小时前
工作软件学习
学习
Desirediscipline3 小时前
#define _CRT_SECURE_NO_WARNINGS 1
开发语言·数据结构·c++·算法·c#·github·visual studio
范纹杉想快点毕业3 小时前
C语言550例编程实例说明
算法
ShineWinsu3 小时前
对于C++中map和multimap的详细介绍
c++·面试·stl·笔试·map·红黑树·multimap
小O的算法实验室3 小时前
2026年SEVC SCI2区,面向无人机路径规划的领域专用算子进化算法,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
weixin_477271693 小时前
同人象:(两军停战谈判结盟的现场直播)马王堆帛书《周易》原文及甲骨文还原周朝生活现象《函谷门
算法·图搜索算法
nudt_qxx4 小时前
CUDA编程模型与硬件执行层级对应关系
linux·人工智能·算法