dalao们,求调,小数据可以过但是大数据的样例WA,AC两个
查看原帖
dalao们,求调,小数据可以过但是大数据的样例WA,AC两个
1260179
freebright楼主2024/3/18 15:29
#include<bits/stdc++.h>
#include<unordered_map>
#define int long long
#define LL _int128
#define PII pair<int, int>
using namespace std;
int n, m, cnt;
unordered_map<int, int>mp;
int x;
signed main()
{

	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
	cin >> m >> n;

	for (int i = 1; i <= n; ++i) {
		cin >> x;
		if (mp.empty()) { // 放入第一个元素
			mp[x]++;
			cnt++; // 最开始的元素本来就没有
		}
		else if (mp.find(x) == mp.end()) { // 当 map 非空
			if (mp.size() == m) { // 且 找不到对应“单词”时
				mp.erase(mp.begin()); // 删掉第一位置的元素
			}
			// 当 mp.size() < m 都要进行下面的 加入新元素的操作:包括上面mp满了后删除首个,也变成了 mp.size() < m
			cnt++;
			mp[x]++;
		}
	}
	cout << cnt << '\n';
	return 0;
}
2024/3/18 15:29
加载中...