Submission #657893

#TimeUsernameProblemLanguageResultExecution timeMemory
657893benjaminkleynMutating DNA (IOI21_dna)C++17
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>
#include "dna.h"
using namespace std;
typedef long long ll;

int n, ac[100001], at[100001], ct[100001];
int a[100001], c[100001], t[100001];
void init(string A, string B)
{
    n = a.size();
    for (int i = 0; i < n; i++)
    {
        a[i + 1] = a[i] + (A[i] == 'A') - (B[i] == 'A');
        c[i + 1] = c[i] + (A[i] == 'C') - (B[i] == 'C');
        t[i + 1] = t[i] + (A[i] == 'T') - (B[i] == 'T');

        ac[i + 1] = ac[i], at[i + 1] = at[i], ct[i + 1] = ct[i];

        ac[i + 1] += ((A[i] == 'A' && B[i] == 'C') || (A[i] == 'C' && B[i] == 'A'));
        at[i + 1] += ((A[i] == 'A' && B[i] == 'T') || (A[i] == 'T' && B[i] == 'A'));
        ct[i + 1] += ((A[i] == 'C' && B[i] == 'T') || (A[i] == 'C' && B[i] == 'T'));

        ac[i + 1] += ((A[i] == 'T' && B[i] != 'T') || (A[i] != 'T' && B[i] == 'T')) * 2;
        at[i + 1] += ((A[i] == 'C' && B[i] != 'C') || (A[i] != 'C' && B[i] == 'C')) * 2;
        ct[i + 1] += ((A[i] == 'A' && B[i] != 'A') || (A[i] != 'A' && B[i] == 'A')) * 2;

    }
}

int get_distance(int x, int y)
{
    if (a[y + 1] - a[x] != 0)
        return -1;
    if (c[y + 1] - c[x] != 0)
        return -1;
    if (t[y + 1] - t[x] != 0)
        return -1;
    return min({ac[y + 1] - ac[x], at[y + 1] - at[x], ct[y + 1] - ct[y]}) / 2;
}

Compilation message (stderr)

dna.cpp: In function 'void init(std::string, std::string)':
dna.cpp:10:11: error: request for member 'size' in 'a', which is of non-class type 'int [100001]'
   10 |     n = a.size();
      |           ^~~~