Submission #714527

#TimeUsernameProblemLanguageResultExecution timeMemory
714527mseebacherMutating DNA (IOI21_dna)C++17
43 / 100
1567 ms3704 KiB
#include <bits/stdc++.h>
using namespace std;
 
typedef long long ll;
typedef vector<int> vi;
#define MAXI (int)1e5
#define pb(x) push_back(x)
char s1[(int)1e5+5];
char s2[(int)1e5+5];
 
void init(string x,string y){
	for(int i = 0;i<x.length();i++) s1[i] = x[i];
	for(int i = 0;i<y.length();i++) s2[i] = y[i];
}
 
 
int get_distance(int x,int y){
	map<char,int> m1,m2;
	m1.insert({'A',0});
	m2.insert({'A',0});
	m1.insert({'T',0});
	m2.insert({'T',0});
	m1.insert({'C',0});
	m2.insert({'C',0});
	for(int i =x;i<=y;i++){
		m1[s1[i]]++;
		m2[s2[i]]++;
	}
	if(m1['A'] != m2['A'] || m1['T'] != m2['T'] || m1['C'] != m2['C']) return -1;
	int cntr = 0;
	for(int i = x;i<=y;i++){
		if(s1[i] != s2[i]) cntr++;
	}
	return (cntr+1)/2;
}

Compilation message (stderr)

dna.cpp: In function 'void init(std::string, std::string)':
dna.cpp:12:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   12 |  for(int i = 0;i<x.length();i++) s1[i] = x[i];
      |                ~^~~~~~~~~~~
dna.cpp:13:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   13 |  for(int i = 0;i<y.length();i++) s2[i] = y[i];
      |                ~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...