#include <bits/stdc++.h>
// #pragma GCC optimize("Ofast,unroll-loops,O3")
// #pragma GCC target("avx,avx2,fma")
using namespace std;
// using namespace __gnu_pbds;
// using namespace __gnu_cxx;
// template <typename T>
// using ordered_set = tree <T, null_type, less <T>, rb_tree_tag, tree_order_statistics_node_update>;
// template <typename T>
// using ordered_multiset = tree <T, null_type, less_equal <T>, rb_tree_tag, tree_order_statistics_node_update>;
using ll = long long;
using ld = long double;
using ull = unsigned long long;
using uint = unsigned int;
using i128 = __int128_t;
istream& operator>>(istream& is, i128& x) {
long long a;
is >> a;
x = (i128) a;
return is;
}
ostream& operator<<(ostream& os, i128& x) {
long long a = (long long) x;
os << a;
return os;
}
template <typename T>
ostream& operator<<(ostream& is, vector <T>& a) {
for (uint i = 0; i < a.size(); ++i) is << a[i] << " ";
return is;
}
#ifdef LOCAL
# define DEBUG(x) cerr << "(" << __LINE__ << ") " << #x << ": " << x << endl;
#else
# define DEBUG(x)
#endif
// const ll inf = 1e18 + 1e16;
const int inf_t = 1e9 + 7;
const ll mod = 1e9 + 7;
signed main() {
#ifdef LOCAL
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
int n;
cin >> n;
int q;
cin >> q;
int cur = 0;
int bal[n] = {0};
int prev[n] = {0};
int last[n] = {-1};
for (int i = 0; i < q; ++i) {
int x;
cin >> x;
if (x > 0) {
if (bal[x] == 1 && last[x] == cur) {
++last[x];
++cur;
bal[x] = 1;
} else {
bal[x] = 1;
last[x] = cur;
}
} else {
x = -x;
bal[x] = 0;
last[x] = cur;
}
}
cout << cur;
}
| # | 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... |