Submission #965292

# Submission time Handle Problem Language Result Execution time Memory
965292 2024-04-18T09:40:04 Z KasymK Mutating DNA (IOI21_dna) C++17
0 / 100
29 ms 2392 KB
#include "dna.h"
#include "bits/stdc++.h"
 
using namespace std;
 
string s, s2;
 
int ok = 0;
 
// shul yerde ok = 0
 
void init(string a, string b){
    s = a, s2 = b;
}
 
// 'C' bar bolsa onda ok = 1
 
int get_distance(int x, int y){
    for(int i = x; i <= y; ++i)
        ok |= (s[i] == 'C' or s2[i] == 'C');
    if(y - x <= 2 and ok){
        int s_a = 0, s_c = 0, s_t = 0;
        int s2_a = 0, s2_c = 0, s2_t = 0;
        for(int i = x; i <= y; ++i){
            s_a += (s[i] == 'A');
            s_c += (s[i] == 'C');
            s_t += (s[i] == 'T');
            s2_a += (s2[i] == 'A');
            s2_c += (s2[i] == 'C');
            s2_t += (s2[i] == 'T');
        }
        if(s_a != s2_a or s_c != s2_c or s_t != s2_t)
            return -1;
        int ok = 1;
        for(int i = x; i <= y; ++i)
            ok &= (s[i] == s2[i]);
        if(ok)
            return 0;
        int ans = 0;
        for(int i = x; i <= y; ++i)
            ans += (s[i] != s2[i]);
        ans--;
        return ans;
    }
    // galan wagt dine 'A' we 'T' harplar bar
    int ans = 0;
    for(int i = x; i <= y; ++i)
        ans += (((s[i] == 'A' and s2[i] == 'T') or (s[i] == 'T' and s2[i] == 'A') ? 1 : 0));
    ans >>= 1;
    return ans;
}
# Verdict Execution time Memory Grader output
1 Incorrect 29 ms 2392 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 29 ms 2392 KB Output isn't correct
2 Halted 0 ms 0 KB -