# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
442372 |
2021-07-07T15:39:06 Z |
neki |
Mutating DNA (IOI21_dna) |
C++17 |
|
65 ms |
10900 KB |
#include <bits/stdc++.h>
#define ll long long
#define loop(i, a, b) for(ll i=a;i<b;++i)
#define pool(i, a, b) for(ll i=a-1;i>=b;--i)
#define fore(i, a) for(auto&& i:a)
#define fi first
#define se second
#define ps(a) push_back(a)
#define pb(a) pop_back(a)
#define eb(...) emplace_back(__VA_ARGS__)
#define sc scanf
#define vc vector
#define lb lower_bound
#define ub upper_bound
#define all(a) a.begin(), a.end()
#define llmax LLONG_MAX/2
#define llmin -LLONG_MAX/2
using namespace std;
#define mn 400100
#define par pair<ll, ll>
#define ld long double
ll n;
ll sum[mn][3][3];
void init(string a, string b){
n=a.size();
vc<char> temp={'A', 'T', 'C'};
loop(i, 1, n+1){
loop(x, 0, 3) loop(y, 0, 3) sum[i][x][y]=sum[i-1][x][y];
loop(x, 0, 3) if(a[i-1]==temp[x]) loop(y, 0, 3) if(b[i-1]==temp[y]) sum[i][x][y]++;
}
}
int get_distance(int x, int y){
ll cur[3][3];
loop(s, 0, 3) loop(e, 0, 3) cur[s][e]=sum[y+1][s][e] - sum[x][s][e];
vc<ll> cnt(3, 0);
loop(s, 0, 3) loop(e, 0, 3) cnt[s]+=cur[s][e], cnt[e]-=cur[s][e];
ll br=1;loop(i, 0, 3) if(cnt[i]) br=0;
if(br==0) return -1;
ll ans=0;
loop(s, 0, 3) loop(e, 0, 3) if(s!=e){
ll te=min(cur[s][e], cur[e][s]);
ans+=te;
cur[s][e]-=te;
cur[e][s]-=te;
}
ll mm=0;
loop(s, 0, 3) loop(e, 0, 3) if(s!=e) mm=max(mm, cur[s][e]);
ans+=2 * mm;
return ans;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
59 ms |
9084 KB |
Output is correct |
2 |
Correct |
54 ms |
10516 KB |
Output is correct |
3 |
Correct |
54 ms |
9856 KB |
Output is correct |
4 |
Correct |
65 ms |
10548 KB |
Output is correct |
5 |
Correct |
1 ms |
204 KB |
Output is correct |
6 |
Correct |
1 ms |
204 KB |
Output is correct |
7 |
Correct |
0 ms |
204 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
204 KB |
Output is correct |
2 |
Correct |
1 ms |
204 KB |
Output is correct |
3 |
Correct |
1 ms |
204 KB |
Output is correct |
4 |
Correct |
7 ms |
8012 KB |
Output is correct |
5 |
Correct |
8 ms |
8120 KB |
Output is correct |
6 |
Correct |
8 ms |
7992 KB |
Output is correct |
7 |
Correct |
7 ms |
7500 KB |
Output is correct |
8 |
Correct |
8 ms |
8072 KB |
Output is correct |
9 |
Correct |
7 ms |
8012 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
204 KB |
Output is correct |
2 |
Correct |
1 ms |
204 KB |
Output is correct |
3 |
Correct |
1 ms |
204 KB |
Output is correct |
4 |
Correct |
7 ms |
8012 KB |
Output is correct |
5 |
Correct |
8 ms |
8120 KB |
Output is correct |
6 |
Correct |
8 ms |
7992 KB |
Output is correct |
7 |
Correct |
7 ms |
7500 KB |
Output is correct |
8 |
Correct |
8 ms |
8072 KB |
Output is correct |
9 |
Correct |
7 ms |
8012 KB |
Output is correct |
10 |
Correct |
53 ms |
10372 KB |
Output is correct |
11 |
Correct |
52 ms |
10496 KB |
Output is correct |
12 |
Correct |
54 ms |
10468 KB |
Output is correct |
13 |
Correct |
52 ms |
10508 KB |
Output is correct |
14 |
Correct |
54 ms |
10804 KB |
Output is correct |
15 |
Correct |
55 ms |
10760 KB |
Output is correct |
16 |
Correct |
46 ms |
10256 KB |
Output is correct |
17 |
Correct |
47 ms |
10476 KB |
Output is correct |
18 |
Correct |
54 ms |
10776 KB |
Output is correct |
19 |
Correct |
53 ms |
10364 KB |
Output is correct |
20 |
Correct |
45 ms |
10444 KB |
Output is correct |
21 |
Correct |
45 ms |
10784 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
204 KB |
Output is correct |
2 |
Correct |
1 ms |
204 KB |
Output is correct |
3 |
Correct |
1 ms |
204 KB |
Output is correct |
4 |
Correct |
7 ms |
8012 KB |
Output is correct |
5 |
Correct |
8 ms |
8120 KB |
Output is correct |
6 |
Correct |
8 ms |
7992 KB |
Output is correct |
7 |
Correct |
7 ms |
7500 KB |
Output is correct |
8 |
Correct |
8 ms |
8072 KB |
Output is correct |
9 |
Correct |
7 ms |
8012 KB |
Output is correct |
10 |
Correct |
7 ms |
7372 KB |
Output is correct |
11 |
Correct |
8 ms |
8044 KB |
Output is correct |
12 |
Correct |
11 ms |
7548 KB |
Output is correct |
13 |
Correct |
10 ms |
7988 KB |
Output is correct |
14 |
Correct |
9 ms |
8112 KB |
Output is correct |
15 |
Correct |
7 ms |
8072 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
59 ms |
9084 KB |
Output is correct |
2 |
Correct |
54 ms |
10516 KB |
Output is correct |
3 |
Correct |
54 ms |
9856 KB |
Output is correct |
4 |
Correct |
65 ms |
10548 KB |
Output is correct |
5 |
Correct |
1 ms |
204 KB |
Output is correct |
6 |
Correct |
1 ms |
204 KB |
Output is correct |
7 |
Correct |
0 ms |
204 KB |
Output is correct |
8 |
Correct |
0 ms |
204 KB |
Output is correct |
9 |
Correct |
1 ms |
204 KB |
Output is correct |
10 |
Correct |
1 ms |
204 KB |
Output is correct |
11 |
Correct |
7 ms |
8012 KB |
Output is correct |
12 |
Correct |
8 ms |
8120 KB |
Output is correct |
13 |
Correct |
8 ms |
7992 KB |
Output is correct |
14 |
Correct |
7 ms |
7500 KB |
Output is correct |
15 |
Correct |
8 ms |
8072 KB |
Output is correct |
16 |
Correct |
7 ms |
8012 KB |
Output is correct |
17 |
Correct |
53 ms |
10372 KB |
Output is correct |
18 |
Correct |
52 ms |
10496 KB |
Output is correct |
19 |
Correct |
54 ms |
10468 KB |
Output is correct |
20 |
Correct |
52 ms |
10508 KB |
Output is correct |
21 |
Correct |
54 ms |
10804 KB |
Output is correct |
22 |
Correct |
55 ms |
10760 KB |
Output is correct |
23 |
Correct |
46 ms |
10256 KB |
Output is correct |
24 |
Correct |
47 ms |
10476 KB |
Output is correct |
25 |
Correct |
54 ms |
10776 KB |
Output is correct |
26 |
Correct |
53 ms |
10364 KB |
Output is correct |
27 |
Correct |
45 ms |
10444 KB |
Output is correct |
28 |
Correct |
45 ms |
10784 KB |
Output is correct |
29 |
Correct |
7 ms |
7372 KB |
Output is correct |
30 |
Correct |
8 ms |
8044 KB |
Output is correct |
31 |
Correct |
11 ms |
7548 KB |
Output is correct |
32 |
Correct |
10 ms |
7988 KB |
Output is correct |
33 |
Correct |
9 ms |
8112 KB |
Output is correct |
34 |
Correct |
7 ms |
8072 KB |
Output is correct |
35 |
Correct |
1 ms |
204 KB |
Output is correct |
36 |
Correct |
52 ms |
9820 KB |
Output is correct |
37 |
Correct |
51 ms |
10476 KB |
Output is correct |
38 |
Correct |
56 ms |
10424 KB |
Output is correct |
39 |
Correct |
63 ms |
10884 KB |
Output is correct |
40 |
Correct |
52 ms |
10900 KB |
Output is correct |
41 |
Correct |
6 ms |
8140 KB |
Output is correct |
42 |
Correct |
47 ms |
10340 KB |
Output is correct |
43 |
Correct |
65 ms |
10752 KB |
Output is correct |
44 |
Correct |
52 ms |
10864 KB |
Output is correct |
45 |
Correct |
46 ms |
10368 KB |
Output is correct |
46 |
Correct |
45 ms |
10848 KB |
Output is correct |
47 |
Correct |
45 ms |
10788 KB |
Output is correct |