#include <bits/stdc++.h>
using namespace std;
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
int n, q;
cin >> n >> q;
int ans = 0;
vector <vector <int>> v(n + 1, vector <int>(0));
for (int i = 0;i < q;i++) {
int x;
cin >> x;
if (x < 0) {
// if (v[-x].size() != 0) {
// v[-x].pop_back();
// }
}
else {
v[x].push_back(i);
// cout << v[x].size() << " ";
}
}
// return 0;
vector <pair <int, int>> times;
for (int i = 0;i < n;i++) {
// cout << v[i].size() << " ";
// continue;
for (int j = 0;j < v[i].size();j++) {
if(j == v[i].size() - 1) break;
// cout << v[i][j] << " ";
times.push_back({v[i][j + 1], v[i][j]});
}
// cout << endl;
}
if (times.size() == 0) {
cout << 0 << endl;
return 0;
}
// cout << endl;
sort(times.begin(), times.end());
// for (int i = 0;i < times.size();i++) {
// cout << times[i].first << " " << times[i].second << endl;
// }
// cout << ans << endl;
int l = times[0].first;
ans = 1;
for (int i = 1;i < times.size();i++) {
if (l <= times[i].second) {
l = times[i].first;
ans++;
}
}
cout << ans;
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |