Submission #443826

#TimeUsernameProblemLanguageResultExecution timeMemory
443826KhizriMutating DNA (IOI21_dna)C++17
0 / 100
38 ms4344 KiB
#include "dna.h" #include <bits/stdc++.h> using namespace std; #define all(v) (v).begin(),(v).end() const int mxn=2e5+5; string a,b; int dp[mxn],la[mxn],ra[mxn],lb[mxn],rb[mxn]; void init(std::string A, std::string B) { a=A,b=B; if(a[0]!=b[0]){ dp[0]=1; } if(a[0]=='A'){ la[0]=1; } else{ ra[0]=1; } if(b[0]=='A'){ lb[0]=1; } else{ rb[0]=1; } for(int i=1;i<a.size();i++){ dp[i]=dp[i-1]; la[i]=la[i-1]; ra[i]=ra[i-1]; lb[i]=lb[i-1]; rb[i]=rb[i-1]; if(a[i]!=b[i]){ dp[i]=dp[i-1]+1; } if(a[i]=='A'){ la[i]=la[i-1]+1; } else{ ra[i]=ra[i-1]+1; } if(b[i]=='A'){ lb[i]=lb[i-1]+1; } else{ rb[i]=rb[i-1]+1; } } } int funk(int ind){ if(ind>=0){ return ind; } else{ return 200000; } } int get_distance(int x, int y) { if(la[y]-la[funk(x-1)]==ra[y]-ra[funk(x-1)]&&lb[y]-lb[funk(x-1)]==rb[y]-rb[funk(x-1)]){ } else{ return -1; } return (dp[y]-dp[funk(x-1)])/2; }

Compilation message (stderr)

dna.cpp: In function 'void init(std::string, std::string)':
dna.cpp:25:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   25 |  for(int i=1;i<a.size();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...