Submission #1339384

#TimeUsernameProblemLanguageResultExecution timeMemory
1339384rafiqshaidMutating DNA (IOI21_dna)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>
using namespace std;

vector<vector<int>> va, vb;
vector<int> at, ta, equal;

void init(string a, string b) {
    int n = a.size();

    va.assign(3, vector<int>(n+1));
    vb.assign(3, vector<int>(n+1));
    at.assign(n+1, 0);
    ta.assign(n+1, 0);
    equal.assign(n+1, 0);

    map<char,int> mp = {{'A',0},{'C',1},{'T',2}};

    for(int i = 0; i < n; i++){
        for(int j=0;j<3;j++){
            va[j][i+1] = va[j][i];
            vb[j][i+1] = vb[j][i];
        }

        va[mp[a[i]]][i+1]++;
        vb[mp[b[i]]][i+1]++;

        at[i+1] = at[i];
        ta[i+1] = ta[i];
        equal[i+1] = equal[i];

        if(a[i]=='A' && b[i]=='T') at[i+1]++;
        if(a[i]=='T' && b[i]=='A') ta[i+1]++;
        if(a[i]==b[i]) equal[i+1]++;
    }
}

int get_distance(int x, int y){
    x--; // depending on indexing
    int total = y - x;
    int same = equal[y] - equal[x];
    total -= same;

    for(int i=0;i<3;i++){
        if(va[i][y] - va[i][x] != vb[i][y] - vb[i][x]){
            return -1;
        }
    }

    int a_t = at[y] - at[x];
    int t_a = ta[y] - ta[x];

    int ans = abs(a_t - t_a);
    total -= 3 * ans;
    ans *= 2;
    ans += total / 2;

    return ans;
}

Compilation message (stderr)

dna.cpp: In function 'void init(std::string, std::string)':
dna.cpp:14:5: error: reference to 'equal' is ambiguous
   14 |     equal.assign(n+1, 0);
      |     ^~~~~
In file included from /usr/include/c++/13/algorithm:73,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:51,
                 from dna.cpp:1:
/usr/include/c++/13/pstl/glue_algorithm_defs.h:347:1: note: candidates are: 'template<class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2> __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> std::equal(_ExecutionPolicy&&, _ForwardIterator1, _ForwardIterator1, _ForwardIterator2, _ForwardIterator2)'
  347 | equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
      | ^~~~~
/usr/include/c++/13/pstl/glue_algorithm_defs.h:342:1: note:                 'template<class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate> __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> std::equal(_ExecutionPolicy&&, _ForwardIterator1, _ForwardIterator1, _ForwardIterator2, _ForwardIterator2, _BinaryPredicate)'
  342 | equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
      | ^~~~~
/usr/include/c++/13/pstl/glue_algorithm_defs.h:338:1: note:                 'template<class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2> __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> std::equal(_ExecutionPolicy&&, _ForwardIterator1, _ForwardIterator1, _ForwardIterator2)'
  338 | equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2);
      | ^~~~~
/usr/include/c++/13/pstl/glue_algorithm_defs.h:333:1: note:                 'template<class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate> __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> std::equal(_ExecutionPolicy&&, _ForwardIterator1, _ForwardIterator1, _ForwardIterator2, _BinaryPredicate)'
  333 | equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
      | ^~~~~
In file included from /usr/include/c++/13/algorithm:60:
/usr/include/c++/13/bits/stl_algobase.h:1701:5: note:                 'template<class _IIter1, class _IIter2, class _BinaryPredicate> constexpr bool std::equal(_IIter1, _IIter1, _IIter2, _IIter2, _BinaryPredicate)'
 1701 |     equal(_IIter1 __first1, _IIter1 __last1,
      |     ^~~~~
/usr/include/c++/13/bits/stl_algobase.h:1668:5: note:                 'template<class _II1, class _II2> constexpr bool std::equal(_II1, _II1, _II2, _II2)'
 1668 |     equal(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
      |     ^~~~~
/usr/include/c++/13/bits/stl_algobase.h:1578:5: note:                 'template<class _IIter1, class _IIter2, class _BinaryPredicate> constexpr bool std::equal(_IIter1, _IIter1, _IIter2, _BinaryPredicate)'
 1578 |     equal(_IIter1 __first1, _IIter1 __last1,
      |     ^~~~~
/usr/include/c++/13/bits/stl_algobase.h:1547:5: note:                 'template<class _II1, class _II2> constexpr bool std::equal(_II1, _II1, _II2)'
 1547 |     equal(_II1 __first1, _II1 __last1, _II2 __first2)
      |     ^~~~~
dna.cpp:5:21: note:                 'std::vector<int> equal'
    5 | vector<int> at, ta, equal;
      |                     ^~~~~
dna.cpp:29:9: error: reference to 'equal' is ambiguous
   29 |         equal[i+1] = equal[i];
      |         ^~~~~
/usr/include/c++/13/pstl/glue_algorithm_defs.h:347:1: note: candidates are: 'template<class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2> __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> std::equal(_ExecutionPolicy&&, _ForwardIterator1, _ForwardIterator1, _ForwardIterator2, _ForwardIterator2)'
  347 | equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
      | ^~~~~
/usr/include/c++/13/pstl/glue_algorithm_defs.h:342:1: note:                 'template<class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate> __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> std::equal(_ExecutionPolicy&&, _ForwardIterator1, _ForwardIterator1, _ForwardIterator2, _ForwardIterator2, _BinaryPredicate)'
  342 | equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
      | ^~~~~
/usr/include/c++/13/pstl/glue_algorithm_defs.h:338:1: note:                 'template<class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2> __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> std::equal(_ExecutionPolicy&&, _ForwardIterator1, _ForwardIterator1, _ForwardIterator2)'
  338 | equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2);
      | ^~~~~
/usr/include/c++/13/pstl/glue_algorithm_defs.h:333:1: note:                 'template<class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate> __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> std::equal(_ExecutionPolicy&&, _ForwardIterator1, _ForwardIterator1, _ForwardIterator2, _BinaryPredicate)'
  333 | equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
      | ^~~~~
/usr/include/c++/13/bits/stl_algobase.h:1701:5: note:                 'template<class _IIter1, class _IIter2, class _BinaryPredicate> constexpr bool std::equal(_IIter1, _IIter1, _IIter2, _IIter2, _BinaryPredicate)'
 1701 |     equal(_IIter1 __first1, _IIter1 __last1,
      |     ^~~~~
/usr/include/c++/13/bits/stl_algobase.h:1668:5: note:                 'template<class _II1, class _II2> constexpr bool std::equal(_II1, _II1, _II2, _II2)'
 1668 |     equal(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
      |     ^~~~~
/usr/include/c++/13/bits/stl_algobase.h:1578:5: note:                 'template<class _IIter1, class _IIter2, class _BinaryPredicate> constexpr bool std::equal(_IIter1, _IIter1, _IIter2, _BinaryPredicate)'
 1578 |     equal(_IIter1 __first1, _IIter1 __last1,
      |     ^~~~~
/usr/include/c++/13/bits/stl_algobase.h:1547:5: note:                 'template<class _II1, class _II2> constexpr bool std::equal(_II1, _II1, _II2)'
 1547 |     equal(_II1 __first1, _II1 __last1, _II2 __first2)
      |     ^~~~~
dna.cpp:5:21: note:                 'std::vector<int> equal'
    5 | vector<int> at, ta, equal;
      |                     ^~~~~
dna.cpp:29:22: error: reference to 'equal' is ambiguous
   29 |         equal[i+1] = equal[i];
      |                      ^~~~~
/usr/include/c++/13/pstl/glue_algorithm_defs.h:347:1: note: candidates are: 'template<class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2> __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> std::equal(_ExecutionPolicy&&, _ForwardIterator1, _ForwardIterator1, _ForwardIterator2, _ForwardIterator2)'
  347 | equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
      | ^~~~~
/usr/include/c++/13/pstl/glue_algorithm_defs.h:342:1: note:                 'template<class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate> __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> std::equal(_ExecutionPolicy&&, _ForwardIterator1, _ForwardIterator1, _ForwardIterator2, _ForwardIterator2, _BinaryPredicate)'
  342 | equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
      | ^~~~~
/usr/include/c++/13/pstl/glue_algorithm_defs.h:338:1: note:                 'template<class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2> __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> std::equal(_ExecutionPolicy&&, _ForwardIterator1, _ForwardIterator1, _ForwardIterator2)'
  338 | equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2);
      | ^~~~~
/usr/include/c++/13/pstl/glue_algorithm_defs.h:333:1: note:                 'template<class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate> __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> std::equal(_ExecutionPolicy&&, _ForwardIterator1, _ForwardIterator1, _ForwardIterator2, _BinaryPredicate)'
  333 | equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
      | ^~~~~
/usr/include/c++/13/bits/stl_algobase.h:1701:5: note:                 'template<class _IIter1, class _IIter2, class _BinaryPredicate> constexpr bool std::equal(_IIter1, _IIter1, _IIter2, _IIter2, _BinaryPredicate)'
 1701 |     equal(_IIter1 __first1, _IIter1 __last1,
      |     ^~~~~
/usr/include/c++/13/bits/stl_algobase.h:1668:5: note:                 'template<class _II1, class _II2> constexpr bool std::equal(_II1, _II1, _II2, _II2)'
 1668 |     equal(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
      |     ^~~~~
/usr/include/c++/13/bits/stl_algobase.h:1578:5: note:                 'template<class _IIter1, class _IIter2, class _BinaryPredicate> constexpr bool std::equal(_IIter1, _IIter1, _IIter2, _BinaryPredicate)'
 1578 |     equal(_IIter1 __first1, _IIter1 __last1,
      |     ^~~~~
/usr/include/c++/13/bits/stl_algobase.h:1547:5: note:                 'template<class _II1, class _II2> constexpr bool std::equal(_II1, _II1, _II2)'
 1547 |     equal(_II1 __first1, _II1 __last1, _II2 __first2)
      |     ^~~~~
dna.cpp:5:21: note:                 'std::vector<int> equal'
    5 | vector<int> at, ta, equal;
      |                     ^~~~~
dna.cpp:33:24: error: reference to 'equal' is ambiguous
   33 |         if(a[i]==b[i]) equal[i+1]++;
      |                        ^~~~~
/usr/include/c++/13/pstl/glue_algorithm_defs.h:347:1: note: candidates are: 'template<class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2> __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> std::equal(_ExecutionPolicy&&, _ForwardIterator1, _ForwardIterator1, _ForwardIterator2, _ForwardIterator2)'
  347 | equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
      | ^~~~~
/usr/include/c++/13/pstl/glue_algorithm_defs.h:342:1: note:                 'template<class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate> __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> std::equal(_ExecutionPolicy&&, _ForwardIterator1, _ForwardIterator1, _ForwardIterator2, _ForwardIterator2, _BinaryPredicate)'
  342 | equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
      | ^~~~~
/usr/include/c++/13/pstl/glue_algorithm_defs.h:338:1: note:                 'template<class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2> __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> std::equal(_ExecutionPolicy&&, _ForwardIterator1, _ForwardIterator1, _ForwardIterator2)'
  338 | equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2);
      | ^~~~~
/usr/include/c++/13/pstl/glue_algorithm_defs.h:333:1: note:                 'template<class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate> __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> std::equal(_ExecutionPolicy&&, _ForwardIterator1, _ForwardIterator1, _ForwardIterator2, _BinaryPredicate)'
  333 | equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
      | ^~~~~
/usr/include/c++/13/bits/stl_algobase.h:1701:5: note:                 'template<class _IIter1, class _IIter2, class _BinaryPredicate> constexpr bool std::equal(_IIter1, _IIter1, _IIter2, _IIter2, _BinaryPredicate)'
 1701 |     equal(_IIter1 __first1, _IIter1 __last1,
      |     ^~~~~
/usr/include/c++/13/bits/stl_algobase.h:1668:5: note:                 'template<class _II1, class _II2> constexpr bool std::equal(_II1, _II1, _II2, _II2)'
 1668 |     equal(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
      |     ^~~~~
/usr/include/c++/13/bits/stl_algobase.h:1578:5: note:                 'template<class _IIter1, class _IIter2, class _BinaryPredicate> constexpr bool std::equal(_IIter1, _IIter1, _IIter2, _BinaryPredicate)'
 1578 |     equal(_IIter1 __first1, _IIter1 __last1,
      |     ^~~~~
/usr/include/c++/13/bits/stl_algobase.h:1547:5: note:                 'template<class _II1, class _II2> constexpr bool std::equal(_II1, _II1, _II2)'
 1547 |     equal(_II1 __first1, _II1 __last1, _II2 __first2)
      |     ^~~~~
dna.cpp:5:21: note:                 'std::vector<int> equal'
    5 | vector<int> at, ta, equal;
      |                     ^~~~~
dna.cpp: In function 'int get_distance(int, int)':
dna.cpp:40:16: error: reference to 'equal' is ambiguous
   40 |     int same = equal[y] - equal[x];
      |                ^~~~~
/usr/include/c++/13/pstl/glue_algorithm_defs.h:347:1: note: candidates are: 'template<class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2> __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> std::equal(_ExecutionPolicy&&, _ForwardIterator1, _ForwardIterator1, _ForwardIterator2, _ForwardIterator2)'
  347 | equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
      | ^~~~~
/usr/include/c++/13/pstl/glue_algorithm_defs.h:342:1: note:                 'template<class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate> __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> std::equal(_ExecutionPolicy&&, _ForwardIterator1, _ForwardIterator1, _ForwardIterator2, _ForwardIterator2, _BinaryPredicate)'
  342 | equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
      | ^~~~~
/usr/include/c++/13/pstl/glue_algorithm_defs.h:338:1: note:                 'template<class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2> __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> std::equal(_ExecutionPolicy&&, _ForwardIterator1, _ForwardIterator1, _ForwardIterator2)'
  338 | equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2);
      | ^~~~~
/usr/include/c++/13/pstl/glue_algorithm_defs.h:333:1: note:                 'template<class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate> __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> std::equal(_ExecutionPolicy&&, _ForwardIterator1, _ForwardIterator1, _ForwardIterator2, _BinaryPredicate)'
  333 | equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
      | ^~~~~
/usr/include/c++/13/bits/stl_algobase.h:1701:5: note:                 'template<class _IIter1, class _IIter2, class _BinaryPredicate> constexpr bool std::equal(_IIter1, _IIter1, _IIter2, _IIter2, _BinaryPredicate)'
 1701 |     equal(_IIter1 __first1, _IIter1 __last1,
      |     ^~~~~
/usr/include/c++/13/bits/stl_algobase.h:1668:5: note:                 'template<class _II1, class _II2> constexpr bool std::equal(_II1, _II1, _II2, _II2)'
 1668 |     equal(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
      |     ^~~~~
/usr/include/c++/13/bits/stl_algobase.h:1578:5: note:                 'template<class _IIter1, class _IIter2, class _BinaryPredicate> constexpr bool std::equal(_IIter1, _IIter1, _IIter2, _BinaryPredicate)'
 1578 |     equal(_IIter1 __first1, _IIter1 __last1,
      |     ^~~~~
/usr/include/c++/13/bits/stl_algobase.h:1547:5: note:                 'template<class _II1, class _II2> constexpr bool std::equal(_II1, _II1, _II2)'
 1547 |     equal(_II1 __first1, _II1 __last1, _II2 __first2)
      |     ^~~~~
dna.cpp:5:21: note:                 'std::vector<int> equal'
    5 | vector<int> at, ta, equal;
      |                     ^~~~~
dna.cpp:40:27: error: reference to 'equal' is ambiguous
   40 |     int same = equal[y] - equal[x];
      |                           ^~~~~
/usr/include/c++/13/pstl/glue_algorithm_defs.h:347:1: note: candidates are: 'template<class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2> __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> std::equal(_ExecutionPolicy&&, _ForwardIterator1, _ForwardIterator1, _ForwardIterator2, _ForwardIterator2)'
  347 | equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
      | ^~~~~
/usr/include/c++/13/pstl/glue_algorithm_defs.h:342:1: note:                 'template<class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate> __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> std::equal(_ExecutionPolicy&&, _ForwardIterator1, _ForwardIterator1, _ForwardIterator2, _ForwardIterator2, _BinaryPredicate)'
  342 | equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
      | ^~~~~
/usr/include/c++/13/pstl/glue_algorithm_defs.h:338:1: note:                 'template<class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2> __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> std::equal(_ExecutionPolicy&&, _ForwardIterator1, _ForwardIterator1, _ForwardIterator2)'
  338 | equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2);
      | ^~~~~
/usr/include/c++/13/pstl/glue_algorithm_defs.h:333:1: note:                 'template<class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate> __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, bool> std::equal(_ExecutionPolicy&&, _ForwardIterator1, _ForwardIterator1, _ForwardIterator2, _BinaryPredicate)'
  333 | equal(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
      | ^~~~~
/usr/include/c++/13/bits/stl_algobase.h:1701:5: note:                 'template<class _IIter1, class _IIter2, class _BinaryPredicate> constexpr bool std::equal(_IIter1, _IIter1, _IIter2, _IIter2, _BinaryPredicate)'
 1701 |     equal(_IIter1 __first1, _IIter1 __last1,
      |     ^~~~~
/usr/include/c++/13/bits/stl_algobase.h:1668:5: note:                 'template<class _II1, class _II2> constexpr bool std::equal(_II1, _II1, _II2, _II2)'
 1668 |     equal(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
      |     ^~~~~
/usr/include/c++/13/bits/stl_algobase.h:1578:5: note:                 'template<class _IIter1, class _IIter2, class _BinaryPredicate> constexpr bool std::equal(_IIter1, _IIter1, _IIter2, _BinaryPredicate)'
 1578 |     equal(_IIter1 __first1, _IIter1 __last1,
      |     ^~~~~
/usr/include/c++/13/bits/stl_algobase.h:1547:5: note:                 'template<class _II1, class _II2> constexpr bool std::equal(_II1, _II1, _II2)'
 1547 |     equal(_II1 __first1, _II1 __last1, _II2 __first2)
      |     ^~~~~
dna.cpp:5:21: note:                 'std::vector<int> equal'
    5 | vector<int> at, ta, equal;
      |                     ^~~~~