// kill me
// i'm so tired, why all me live in troubles?
#include <iostream>
#include <algorithm>
#include <bits/stdc++.h>
#include <random>
#include <chrono>
// fast_pragmas
//#pragma GCC optimize("O3")
//#pragma GCC optimize("Ofast")
//#pragma GCC optimize ("unroll-loops")
//#pragma GCC target("avx,avx2,tune=native")
// fast_pragmas ended
//#pragma comment(linker, "/stack:200000000")
//#pragma GCC optimize("Ofast")
//#pragma GCC optimize("O3,unroll-loops")
//#pragma GCC target("sse,sse2,sse3,ssse3,sse4")
//#pragma GCC target("avx2,bmi,bmi2,popcnt,lzcnt")
using namespace std;
#define ull unsigned long long
#define ll long long
#define ld long double
#define speed ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0)
#define endl '\n'
#define yes cout<<"YES"<<endl
#define no cout<<"NO"<<endl
#define pb push_back
#define ln log
#define lg log10
#define log log2
#define here cout<<"HERE"<<endl
const ll clasik = 2e5+7;
const ll mln = 1e6+7;
//const ll mod = 1e9+7;
const ll mod = 998244353;
const ll block_size = 450;
const ll INF = 1e17;
ll df[clasik] , fd[clasik];
ll pos[clasik] , pov[clasik];
void solve() {
ll n , q;
cin>>n>>q;
ll res = 0;
for (int i = 1 ; i<n ; i++) {
pos[i] = 1;
pov[i] = 0;
}
ll vid = 0;
for (int i =1 ; i<=q ; i++) {
ll x;
cin>>x;
if (x < 0) {
pos[abs(x)] = 1;
pov[abs(x)] = 0;
continue;
}
else {
if (pos[x] == 1) {
pos[x] = 0;
pov[x] = vid;
continue;
}
//cout<<"HERE"<<vid<<endl;
if (pov[x] == vid) {
res++;
pos[x] = 0;
vid++;
pov[x] = vid;
continue;
}
pos[x] = 0;
pov[x] = vid;
}
}
cout<<res<<endl;
}
signed main() {
//freopen("test.txt" , "r" , stdin);
speed;
int test;
test=1;
//precalc();
//cin>>test;
for (int tt=1 ;tt<=test ; tt++) {
solve();
}
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... |