Submission #1148208

#TimeUsernameProblemLanguageResultExecution timeMemory
1148208KaleemRazaSyedInfinite Race (EGOI24_infiniterace2)C++20
100 / 100
163 ms19984 KiB
#include<bits/stdc++.h>

using namespace std;

int main()
{
  int n, q;
  cin >> n >> q;
  
  int a[q] = {};
  bool ans[q] = {};

  for(int i = 0; i < q; i++)
    cin >> a[i];

  map<int,int> last;
  map<int,bool> o;
  
  int l = -1;
  for(int i = 0; i < q; i ++)
    {
      ans[i] = false;
      if(a[i] < 0) {
	o[-a[i]] = 1;
	continue;
      }
      
      
      if(o[a[i]] || last.find(abs(a[i])) == last.end())
	{
	  o[a[i]] = 0;
	  last[a[i]] = i;
	  continue;
	}

      if(last[a[i]] > l) ans[i] = 1, l = i - 1;
      last[a[i]] = i;

    }
  
  
  cout << count(ans, ans + q, true) << endl;
  return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...