Submission #1201763

#TimeUsernameProblemLanguageResultExecution timeMemory
1201763noopSeptember (APIO24_september)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; int solve(int N, int M, std::vector<int> F, std::vector<std::vector<int>> S) { vector<int> g(N,0); vector<bool> s(N,0); vector<vector<int> > v(M,vector<int>(N)); unordered_set<int> req; int ans=0,t=0,c,p; bool flag; for (int i=1; i<N; i++){ g[F[i]]++; } for (int i=0; i<S[0].size(); i++){ c=S[0][i]; if (g[c]){ t++; s[c]=1; } p=F[c]; g[p]--; if (!g[p] and s[p]){ t--; s[p]=0; } for (int r=0; r<M; r++){ v[r][S[r][i]]++; req.insert(S[r][i]); } for (auto it=req.begin(); it!=req.end(); it++){ flag=1; c=*it; for (int r=1; r<M; r++){ if (v[r][c]!=v[0][c]){ flag=0; break; } } if (flag){ it=req.erase(c); } } if (!t and req.empty()){ ans++; } } return ans; }

Compilation message (stderr)

september.cpp: In function 'int solve(int, int, std::vector<int>, std::vector<std::vector<int> >)':
september.cpp:39:23: error: no match for 'operator=' (operand types are 'std::__detail::_Node_iterator<int, true, false>' and 'std::unordered_set<int>::size_type' {aka 'long unsigned int'})
   39 |         it=req.erase(c);
      |                       ^
In file included from /usr/include/c++/11/bits/hashtable.h:35,
                 from /usr/include/c++/11/unordered_map:46,
                 from /usr/include/c++/11/functional:61,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65,
                 from september.cpp:1:
/usr/include/c++/11/bits/hashtable_policy.h:317:12: note: candidate: 'constexpr std::__detail::_Node_iterator<int, true, false>& std::__detail::_Node_iterator<int, true, false>::operator=(const std::__detail::_Node_iterator<int, true, false>&)'
  317 |     struct _Node_iterator
      |            ^~~~~~~~~~~~~~
/usr/include/c++/11/bits/hashtable_policy.h:317:12: note:   no known conversion for argument 1 from 'std::unordered_set<int>::size_type' {aka 'long unsigned int'} to 'const std::__detail::_Node_iterator<int, true, false>&'
/usr/include/c++/11/bits/hashtable_policy.h:317:12: note: candidate: 'constexpr std::__detail::_Node_iterator<int, true, false>& std::__detail::_Node_iterator<int, true, false>::operator=(std::__detail::_Node_iterator<int, true, false>&&)'
/usr/include/c++/11/bits/hashtable_policy.h:317:12: note:   no known conversion for argument 1 from 'std::unordered_set<int>::size_type' {aka 'long unsigned int'} to 'std::__detail::_Node_iterator<int, true, false>&&'