Submission #1201716

#TimeUsernameProblemLanguageResultExecution timeMemory
1201716noopSeptember (APIO24_september)C++20
Compilation error
0 ms0 KiB
#include "september.h"

#include <vector>
#include <unordered_set>
using namespace std;
vector<unordered_set<int> > g;
int solve(int N, int M, std::vector<int> F, std::vector<std::vector<int>> S) {
  g.clear();
  int ans=0;
  unordered_set<int> s;
  for (int i=1; i<N; i++){
    g[F[i]].insert(i);
  }
  for (int i=0; i<S[0].size(); i++){
    if (g[S[0][i]].size()){
      s.insert(S[0][i]);
    }
    g[F[S[0][i]]].erase(S[0][i]);
    if (!g[F[S[0][i]]]].size()){
      s.erase(F[S[0][i]]]);
    }
    if (!s.size()){
      ans++;
    }
  }
  return ans;
}

Compilation message (stderr)

september.cpp: In function 'int solve(int, int, std::vector<int>, std::vector<std::vector<int> >)':
september.cpp:19:9: error: no match for 'operator!' (operand type is '__gnu_cxx::__alloc_traits<std::allocator<std::unordered_set<int> >, std::unordered_set<int> >::value_type' {aka 'std::unordered_set<int>'})
   19 |     if (!g[F[S[0][i]]]].size()){
september.cpp:19:9: note: candidate: 'operator!(bool)' (built-in)
september.cpp:19:9: note:   no known conversion for argument 1 from '__gnu_cxx::__alloc_traits<std::allocator<std::unordered_set<int> >, std::unordered_set<int> >::value_type' {aka 'std::unordered_set<int>'} to 'bool'
september.cpp:19:23: error: expected ')' before ']' token
   19 |     if (!g[F[S[0][i]]]].size()){
      |        ~              ^
      |                       )
september.cpp:19:23: error: expected primary-expression before ']' token