Submission #1001944

#TimeUsernameProblemLanguageResultExecution timeMemory
1001944hacizadalMutating DNA (IOI21_dna)C++17
22 / 100
1566 ms3932 KiB
#include "dna.h"
#include <bits/stdc++.h>
using namespace std;
#define endl '\n'
#define ll long long
#define pll pair<ll, ll>
string s, t;


void init(std::string a, std::string b) {
    s = a;
    t = b;
}

int get_distance(int x, int y) {
	string k = s.substr(x, y-x+1);
	string g = t.substr(x, y-x+1);
	string a = k;
	string b = g;
	sort(a.begin(), a.end());
	sort(b.begin(), b.end());
	if (a != b){
        return -1;
	}
	if (k == g){
        return 0;
	}
	ll c = 0, d = 0;
	for (ll i = 0; i<k.length(); i++){
        if (k[i] != g[i]){
            if (k[i] == 'A') c++;
            else             d++;
        }
	}
	if (d > c) swap(d, c);
	return c;
}

Compilation message (stderr)

dna.cpp: In function 'int get_distance(int, int)':
dna.cpp:29:18: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   29 |  for (ll i = 0; i<k.length(); 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...