[R18B]项链
// [R18B]项链.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
/*
题目地址:
https://bs.daimayuan.top/p/104
题目名称:
[R18B]项链
题目描述:
珠子的颜色有 m 种,分别用 1∼m 表示。
你有一个由 n 个珠子组成的项链,珠子的编号为 1∼n,编号 i 的珠子颜色为 a_i。
你决定取下项链中每种颜色的珠子各一个,同种颜色的珠子有多个时取下其中编号最小的那个。
请按从小到大的顺序输出你要取下的珠子的编号。
输入格式:
第一行包含两个整数 n, m,分别表示珠子的数量和颜色的数量。
第二行包含 n 个整数 a_i,分别表示每个珠子的颜色。
输出格式:
按从小到大的顺序输出你要取下的珠子的编号。
数据范围:
对于 60% 的数据,n≤1000。
对于 100% 的数据,1≤n,m≤3×10^5,1≤a_i≤m。
样例输入:
7 10
1 1 2 7 1 2 9
样例输出:
1 3 4 7
*/
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
const int N = 300010;
vector<int> v[N];
int n, m;
int main()
{
cin >> n >> m;
for(int i = 1; i <= n; i++)
{
int x;
cin >> x;
v[x].push_back(i);
}
vector<int> ans;
for(int i= 1; i <= m; i++)
{
if (v[i].size() > 0) ans.push_back(v[i][0]);
}
sort(ans.begin(), ans.end());
for(int i= 0; i < ans.size(); i++)
{
cout << ans[i] << " ";
}
return 0;
}
作 者: itdef
欢迎转帖 请保持文本完整并注明出处
技术博客 http://www.cnblogs.com/itdef/
B站算法视频题解
https://space.bilibili.com/18508846
qq 151435887
gitee https://gitee.com/def/
欢迎c c++ 算法爱好者 windows驱动爱好者 服务器程序员沟通交流
如果觉得不错,欢迎点赞,你的鼓励就是我的动力
欢迎转帖 请保持文本完整并注明出处
技术博客 http://www.cnblogs.com/itdef/
B站算法视频题解
https://space.bilibili.com/18508846
qq 151435887
gitee https://gitee.com/def/
欢迎c c++ 算法爱好者 windows驱动爱好者 服务器程序员沟通交流
如果觉得不错,欢迎点赞,你的鼓励就是我的动力

