답안 #438870

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
438870 2021-06-28T20:40:22 Z amalla DNA 돌연변이 (IOI21_dna) C++17
35 / 100
111 ms 31208 KB
#include<bits/stdc++.h>

using namespace std;

typedef vector<int> VI;
const int maxN = 100'000;
vector<VI> A(maxN+4, VI(3)), B(maxN+4, VI(3)), AW(maxN+4, VI(2)), TW(maxN+4, VI(2)), CW(maxN+4, VI(2));

void init(string a, string b) {
    for (int i = 1; i<=a.size(); ++i) {
        A[i] =  A[i-1], B[i] = B[i-1], AW[i] = AW[i-1], TW[i] = TW[i-1], CW[i] = CW[i-1];
        if (a[i-1]=='A') {
            ++A[i][0];
            if (b[i-1]=='T') ++TW[i][0];
            else if (b[i-1]=='C') ++CW[i][0];   
        }
        else if (a[i-1]=='T') {
            ++A[i][1];
            if (b[i-1]=='A') ++AW[i][0];
            else if (b[i-1]=='C') ++CW[i][1];   
        }
        else {
            ++A[i][2];
            if (b[i-1]=='A') ++AW[i][1];
            else if (b[i-1]=='T') +TW[i][1]; 
        }
        if (b[i-1]=='A') ++B[i][0];
        else if (b[i-1]=='T') ++B[i][1];
        else ++B[i][2];
    }
}

int get_distance(int x, int y) {
    if ( (A[y+1][0] - A[x][0] == B[y+1][0] - B[x][0]) && (A[y+1][1] - A[x][1] == B[y+1][1] - B[x][1]) && (A[y+1][2] - A[x][2] == B[y+1][2] - B[x][2]) ) {
        return min(AW[y+1][0] - AW[x][0], TW[y+1][0]-TW[x][0]) + min(AW[y+1][1] - AW[x][1], CW[y+1][0]-CW[x][0]) + 
        min(CW[y+1][1] - CW[x][1], TW[y+1][1]-TW[x][1]) + abs((CW[y+1][1] - CW[x][1]) - (TW[y+1][1]-TW[x][1]))*2;
    }
    return -1;
}

Compilation message

dna.cpp: In function 'void init(std::string, std::string)':
dna.cpp:10:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   10 |     for (int i = 1; i<=a.size(); ++i) {
      |                     ~^~~~~~~~~~
dna.cpp:25:35: warning: value computed is not used [-Wunused-value]
   25 |             else if (b[i-1]=='T') +TW[i][1];
# 결과 실행 시간 메모리 Grader output
1 Correct 105 ms 30896 KB Output is correct
2 Correct 99 ms 30852 KB Output is correct
3 Incorrect 100 ms 30768 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 32 ms 27624 KB Output is correct
2 Correct 40 ms 27660 KB Output is correct
3 Correct 37 ms 27632 KB Output is correct
4 Correct 41 ms 28364 KB Output is correct
5 Correct 42 ms 28424 KB Output is correct
6 Correct 47 ms 28428 KB Output is correct
7 Correct 43 ms 28380 KB Output is correct
8 Correct 43 ms 28356 KB Output is correct
9 Correct 44 ms 28464 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 32 ms 27624 KB Output is correct
2 Correct 40 ms 27660 KB Output is correct
3 Correct 37 ms 27632 KB Output is correct
4 Correct 41 ms 28364 KB Output is correct
5 Correct 42 ms 28424 KB Output is correct
6 Correct 47 ms 28428 KB Output is correct
7 Correct 43 ms 28380 KB Output is correct
8 Correct 43 ms 28356 KB Output is correct
9 Correct 44 ms 28464 KB Output is correct
10 Correct 100 ms 30948 KB Output is correct
11 Correct 101 ms 30820 KB Output is correct
12 Correct 103 ms 31096 KB Output is correct
13 Correct 103 ms 31112 KB Output is correct
14 Correct 111 ms 31208 KB Output is correct
15 Correct 110 ms 31124 KB Output is correct
16 Correct 103 ms 30992 KB Output is correct
17 Correct 102 ms 31160 KB Output is correct
18 Correct 103 ms 31140 KB Output is correct
19 Correct 75 ms 31032 KB Output is correct
20 Correct 76 ms 31060 KB Output is correct
21 Correct 80 ms 31180 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 32 ms 27624 KB Output is correct
2 Correct 40 ms 27660 KB Output is correct
3 Correct 37 ms 27632 KB Output is correct
4 Correct 41 ms 28364 KB Output is correct
5 Correct 42 ms 28424 KB Output is correct
6 Correct 47 ms 28428 KB Output is correct
7 Correct 43 ms 28380 KB Output is correct
8 Correct 43 ms 28356 KB Output is correct
9 Correct 44 ms 28464 KB Output is correct
10 Incorrect 45 ms 28404 KB Output isn't correct
11 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 105 ms 30896 KB Output is correct
2 Correct 99 ms 30852 KB Output is correct
3 Incorrect 100 ms 30768 KB Output isn't correct
4 Halted 0 ms 0 KB -