A DNA sequence can be represented as a string consisting of the letters A, C, G and T, which correspond to the types of successive nucleotides in the sequence. Each nucleotide has an impact factor, which is an integer. Nucleotides of types A, C, G and T have impact factors of 1, 2, 3 and 4, respectively. You are going to answer several queries of the form: What is the minimal impact factor of nucleotides contained in a particular part of the given DNA sequence?
The DNA sequence is given as a non-empty string S = S[0]S[1]...S[N-1] consisting of N characters. There are M queries, which are given in non-empty arrays P and Q, each consisting of M integers. The K-th query (0 ≤ K < M) requires you to find the minimal impact factor of nucleotides contained in the DNA sequence between positions P[K] and Q[K] (inclusive).
For example, consider string S = CAGCCTA and arrays P, Q such that:
P[0] = 2 Q[0] = 4 P[1] = 5 Q[1] = 5 P[2] = 0 Q[2] = 6The answers to these M = 3 queries are as follows:
- The part of the DNA between positions 2 and 4 contains nucleotides G and C (twice), whose impact factors are 3 and 2 respectively, so the answer is 2.
- The part between positions 5 and 5 contains a single nucleotide T, whose impact factor is 4, so the answer is 4.
- The part between positions 0 and 6 (the whole string) contains all nucleotides, in particular nucleotide A whose impact factor is 1, so the answer is 1.
Write a function:
vector<int> solution(string &S, vector<int> &P, vector<int> &Q);
that, given a non-empty string S consisting of N characters and two non-empty arrays P and Q consisting of M integers, returns an array consisting of M integers specifying the consecutive answers to all queries.
Result array should be returned as a vector of integers.
For example, given the string S = CAGCCTA and arrays P, Q such that:
P[0] = 2 Q[0] = 4 P[1] = 5 Q[1] = 5 P[2] = 0 Q[2] = 6the function should return the values [2, 4, 1], as explained above.
Write an efficient algorithm for the following assumptions:
- N is an integer within the range [1..100,000];
- M is an integer within the range [1..50,000];
- each element of arrays P and Q is an integer within the range [0..N - 1];
- P[K] ≤ Q[K], where 0 ≤ K < M;
- string S consists only of upper-case English letters A, C, G, T.
// you can use includes, for example:
#include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
vector<int> solution(string &S, vector<int> &P, vector<int> &Q) {
// write your code in C++14 (g++ 6.2.0)
int A = 0, C = 0, G = 0, T = 0;
vector<int> v;
for_each()
}
// you can use includes, for example:
#include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
vector<int> solution(string &S, vector<int> &P, vector<int> &Q) {
// write your code in C++14 (g++ 6.2.0)
int A = 0, C = 0, G = 0, T = 0;
vector<int> v;
for_each(&(S.at(P[i])), &(S.at(Q[i])))
}
// you can use includes, for example:
#include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
vector<int> solution(string &S, vector<int> &P, vector<int> &Q) {
// write your code in C++14 (g++ 6.2.0)
int A = 0, C = 0, G = 0, T = 0;
vector<int> v;
for(int i = 0; i < P.size(); i++){
for_each(&(S.at(P[i])), &(S.at(Q[i])),[&](auto& s){
});
}
}
// you can use includes, for example:
#include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
vector<int> solution(string &S, vector<int> &P, vector<int> &Q) {
// write your code in C++14 (g++ 6.2.0)
int A = 0, C = 0, G = 0, T = 0;
vector<int> v;
for(int i = 0; i < P.size(); i++){
for_each(&(S.at(P[i])), &(S.at(Q[i])),[&](auto& s){
});
}
}
// you can use includes, for example:
#include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
vector<int> solution(string &S, vector<int> &P, vector<int> &Q) {
// write your code in C++14 (g++ 6.2.0)
int A = 0, C = 0, G = 0, T = 0;
vector<int> v;
for(int i = 0; i < P.size(); i++){
for_each(&(S.at(P[i])), &(S.at(Q[i])),[&](auto& s){
if(s == 'A')
A++;
else if(s == 'C')
C++;
else if()
});
}
}
// you can use includes, for example:
#include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
vector<int> solution(string &S, vector<int> &P, vector<int> &Q) {
// write your code in C++14 (g++ 6.2.0)
int A = 0, C = 0, G = 0, T = 0;
vector<int> v;
for(int i = 0; i < P.size(); i++){
for_each(&(S.at(P[i])), &(S.at(Q[i])),[&](auto& s){
if(s == 'A')
A++;
else if(s == 'C')
C++;
else if(s == 'G')
G++;
else
T++;
});
}
}
// you can use includes, for example:
#include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
vector<int> solution(string &S, vector<int> &P, vector<int> &Q) {
// write your code in C++14 (g++ 6.2.0)
int A = 0, C = 0, G = 0, T = 0;
vector<int> v;
for(int i = 0; i < P.size(); i++){
for_each(&(S.at(P[i])), &(S.at(Q[i])),[&](auto& s){
if(s == 'A')
A++;
else if(s == 'C')
C++;
else if(s == 'G')
G++;
else
T++;
});
if(A != 0)
v.push_back(1)
else if(C != 0)
}
}
// you can use includes, for example:
#include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
vector<int> solution(string &S, vector<int> &P, vector<int> &Q) {
// write your code in C++14 (g++ 6.2.0)
int A = 0, C = 0, G = 0, T = 0;
vector<int> v;
for(int i = 0; i < P.size(); i++){
for_each(&(S.at(P[i])), &(S.at(Q[i])),[&](auto& s){
if(s == 'A')
A++;
else if(s == 'C')
C++;
else if(s == 'G')
G++;
else
T++;
});
if(A != 0)
v.push_back(1);
else if(C != 0)
v.push_back(2);
else if(G != 0)
v.push_back(3);
else
v.push_back(4);
}
ret
}
// you can use includes, for example:
#include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
vector<int> solution(string &S, vector<int> &P, vector<int> &Q) {
// write your code in C++14 (g++ 6.2.0)
int A = 0, C = 0, G = 0, T = 0;
vector<int> v;
for(int i = 0; i < P.size(); i++){
for_each(&(S.at(P[i])), &(S.at(Q[i])),[&](auto& s){
if(s == 'A')
A++;
else if(s == 'C')
C++;
else if(s == 'G')
G++;
else
T++;
});
if(A != 0)
v.push_back(1);
else if(C != 0)
v.push_back(2);
else if(G != 0)
v.push_back(3);
else
v.push_back(4);
}
return v;
}
// you can use includes, for example:
#include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
vector<int> solution(string &S, vector<int> &P, vector<int> &Q) {
// write your code in C++14 (g++ 6.2.0)
int A = 0, C = 0, G = 0, T = 0;
vector<int> v;
for(int i = 0; i < P.size(); i++){
for_each(&(S.at(P[i])), &(S.at(Q[i])) + 1,[&](auto& s){
if(s == 'A')
A++;
else if(s == 'C')
C++;
else if(s == 'G')
G++;
else
T++;
});
if(A != 0)
v.push_back(1);
else if(C != 0)
v.push_back(2);
else if(G != 0)
v.push_back(3);
else
v.push_back(4);
}
return v;
}
// you can use includes, for example:
#include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
vector<int> solution(string &S, vector<int> &P, vector<int> &Q) {
// write your code in C++14 (g++ 6.2.0)
int A = 0, C = 0, G = 0, T = 0;
vector<int> v;
for(int i = 0; i < P.size(); i++){
for_each(&(S.at(P[i])), &(S.at(Q[i])) + 2,[&](auto& s){
if(s == 'A')
A++;
else if(s == 'C')
C++;
else if(s == 'G')
G++;
else
T++;
});
if(A != 0)
v.push_back(1);
else if(C != 0)
v.push_back(2);
else if(G != 0)
v.push_back(3);
else
v.push_back(4);
}
return v;
}
// you can use includes, for example:
#include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
vector<int> solution(string &S, vector<int> &P, vector<int> &Q) {
// write your code in C++14 (g++ 6.2.0)
int A = 0, C = 0, G = 0, T = 0;
vector<int> v;
for(int i = 0; i < P.size(); i++){
for_each(&(S.at(P[i])), &(S.at(Q[i])) +,[&](auto& s){
if(s == 'A')
A++;
else if(s == 'C')
C++;
else if(s == 'G')
G++;
else
T++;
});
if(A != 0)
v.push_back(1);
else if(C != 0)
v.push_back(2);
else if(G != 0)
v.push_back(3);
else
v.push_back(4);
}
return v;
}
// you can use includes, for example:
#include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
vector<int> solution(string &S, vector<int> &P, vector<int> &Q) {
// write your code in C++14 (g++ 6.2.0)
int A = 0, C = 0, G = 0, T = 0;
vector<int> v;
for(int i = 0; i < P.size(); i++){
for_each(&(S.at(P[i])), &(S.at(Q[i])),[&](auto& s){
if(s == 'A')
A++;
else if(s == 'C')
C++;
else if(s == 'G')
G++;
else
T++;
});
if(A != 0)
v.push_back(1);
else if(C != 0)
v.push_back(2);
else if(G != 0)
v.push_back(3);
else
v.push_back(4);
}
return v;
}
// you can use includes, for example:
#include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
vector<int> solution(string &S, vector<int> &P, vector<int> &Q) {
// write your code in C++14 (g++ 6.2.0)
int A = 0, C = 0, G = 0, T = 0;
vector<int> v;
for(int i = 0; i < P.size(); i++){
for_each(&(S.at(P[i])), &((S.at(Q[i])),[&](auto& s){
if(s == 'A')
A++;
else if(s == 'C')
C++;
else if(s == 'G')
G++;
else
T++;
});
if(A != 0)
v.push_back(1);
else if(C != 0)
v.push_back(2);
else if(G != 0)
v.push_back(3);
else
v.push_back(4);
}
return v;
}
// you can use includes, for example:
#include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
vector<int> solution(string &S, vector<int> &P, vector<int> &Q) {
// write your code in C++14 (g++ 6.2.0)
int A = 0, C = 0, G = 0, T = 0;
vector<int> v;
for(int i = 0; i < P.size(); i++){
for_each(&(S.at(P[i])), &((S.at(Q[i])) + 1),[&](auto& s){
if(s == 'A')
A++;
else if(s == 'C')
C++;
else if(s == 'G')
G++;
else
T++;
});
if(A != 0)
v.push_back(1);
else if(C != 0)
v.push_back(2);
else if(G != 0)
v.push_back(3);
else
v.push_back(4);
}
return v;
}
func.cpp: In function 'std::vector<int> solution(std::__cxx11::string&, std::vector<int>&, std::vector<int>&)': func.cpp:12:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i = 0; i < P.size(); i++){ ~~^~~~~~~~~~ func.cpp:13:51: error: lvalue required as unary '&' operand for_each(&(S.at(P[i])), &((S.at(Q[i])) + 1),[&](auto& s){ ^
// you can use includes, for example:
#include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
vector<int> solution(string &S, vector<int> &P, vector<int> &Q) {
// write your code in C++14 (g++ 6.2.0)
int A = 0, C = 0, G = 0, T = 0;
vector<int> v;
for(int i = 0; i < P.size(); i++){
for_each(&(S.at(P[i])), &(S.at(Q[i])) + 1),[&](auto& s){
if(s == 'A')
A++;
else if(s == 'C')
C++;
else if(s == 'G')
G++;
else
T++;
});
if(A != 0)
v.push_back(1);
else if(C != 0)
v.push_back(2);
else if(G != 0)
v.push_back(3);
else
v.push_back(4);
}
return v;
}
// you can use includes, for example:
#include <algorithm>
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
vector<int> solution(string &S, vector<int> &P, vector<int> &Q) {
// write your code in C++14 (g++ 6.2.0)
int A = 0, C = 0, G = 0, T = 0;
vector<int> v;
for(int i = 0; i < P.size(); i++){
for_each(&(S.at(P[i])), &(S.at(Q[i])) + 1,[&](auto& s){
if(s == 'A')
A++;
else if(s == 'C')
C++;
else if(s == 'G')
G++;
else
T++;
});
if(A != 0)
v.push_back(1);
else if(C != 0)
v.push_back(2);
else if(G != 0)
v.push_back(3);
else
v.push_back(4);
}
return v;
}
// you can use includes, for example:
#include <algorithm>
us
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
vector<int> solution(string &S, vector<int> &P, vector<int> &Q) {
// write your code in C++14 (g++ 6.2.0)
int A = 0, C = 0, G = 0, T = 0;
vector<int> v;
for(int i = 0; i < P.size(); i++){
for_each(&(S.at(P[i])), &(S.at(Q[i])) + 1,[&](auto& s){
if(s == 'A')
A++;
else if(s == 'C')
C++;
else if(s == 'G')
G++;
else
T++;
});
if(A != 0)
v.push_back(1);
else if(C != 0)
v.push_back(2);
else if(G != 0)
v.push_back(3);
else
v.push_back(4);
}
return v;
}
// you can use includes, for example:
#include <algorithm>
using namespace std;
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
vector<int> solution(string &S, vector<int> &P, vector<int> &Q) {
// write your code in C++14 (g++ 6.2.0)
int A = 0, C = 0, G = 0, T = 0;
vector<int> v;
for(int i = 0; i < P.size(); i++){
for_each(&(S.at(P[i])), &(S.at(Q[i])) + 1,[&](auto& s){
cout << s << " ";
if(s == 'A')
A++;
else if(s == 'C')
C++;
else if(s == 'G')
G++;
else
T++;
});
cout << endl;
if(A != 0)
v.push_back(1);
else if(C != 0)
v.push_back(2);
else if(G != 0)
v.push_back(3);
else
v.push_back(4);
}
return v;
}
G C C T C A G C C T A
// you can use includes, for example:
#include <algorithm>
using namespace std;
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
vector<int> solution(string &S, vector<int> &P, vector<int> &Q) {
// write your code in C++14 (g++ 6.2.0)
int A = 0, C = 0, G = 0, T = 0;
vector<int> v;
for(int i = 0; i < P.size(); i++){
for_each(&(S.at(P[i])), &(S.at(Q[i])) + 1,[&](auto& s){
cout << s << " ";
if(s == 'A')
A++;
else if(s == 'C')
C++;
else if(s == 'G')
G++;
else
T++;
});
cout << endl;
if(A != 0){
v.push_back(1);
else if(C != 0)
v.push_back(2);
else if(G != 0)
v.push_back(3);
else
v.push_back(4);
}
return v;
}
// you can use includes, for example:
#include <algorithm>
using namespace std;
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
vector<int> solution(string &S, vector<int> &P, vector<int> &Q) {
// write your code in C++14 (g++ 6.2.0)
int A = 0, C = 0, G = 0, T = 0;
vector<int> v;
for(int i = 0; i < P.size(); i++){
for_each(&(S.at(P[i])), &(S.at(Q[i])) + 1,[&](auto& s){
cout << s << " ";
if(s == 'A')
A++;
else if(s == 'C')
C++;
else if(s == 'G')
G++;
else
T++;
});
cout << endl;
if(A != 0)
v.push_back(1);
else if(C != 0)
v.push_back(2);
else if(G != 0)
v.push_back(3);
else
v.push_back(4);
}
return v;
}
// you can use includes, for example:
#include <algorithm>
using namespace std;
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
vector<int> solution(string &S, vector<int> &P, vector<int> &Q) {
// write your code in C++14 (g++ 6.2.0)
int A = 0, C = 0, G = 0, T = 0;
vector<int> v;
for(int i = 0; i < P.size(); i++){
for_each(&(S.at(P[i])), &(S.at(Q[i])) + 1,[&](auto& s){
cout << s << " ";
if(s == 'A')
A++;
else if(s == 'C')
C++;
else if(s == 'G')
G++;
else
T++;
});
cout << endl;
if(A != 0){v.push_back(1);
else if(C != 0)
v.push_back(2);
else if(G != 0)
v.push_back(3);
else
v.push_back(4);
}
return v;
}
// you can use includes, for example:
#include <algorithm>
using namespace std;
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
vector<int> solution(string &S, vector<int> &P, vector<int> &Q) {
// write your code in C++14 (g++ 6.2.0)
int A = 0, C = 0, G = 0, T = 0;
vector<int> v;
for(int i = 0; i < P.size(); i++){
for_each(&(S.at(P[i])), &(S.at(Q[i])) + 1,[&](auto& s){
cout << s << " ";
if(s == 'A')
A++;
else if(s == 'C')
C++;
else if(s == 'G')
G++;
else
T++;
});
cout << endl;
if(A != 0)
v.push_back(1);
else if(C != 0)
v.push_back(2);
else if(G != 0)
v.push_back(3);
else
v.push_back(4);
A = C = G = T = 0;
}
return v;
}
// you can use includes, for example:
#include <algorithm>
using namespace std;
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
vector<int> solution(string &S, vector<int> &P, vector<int> &Q) {
// write your code in C++14 (g++ 6.2.0)
int A = 0, C = 0, G = 0, T = 0;
vector<int> v;
for(int i = 0; i < P.; i++){
for_each(&(S.at(P[i])), &(S.at(Q[i])) + 1,[&](auto& s){
cout << s << " ";
if(s == 'A')
A++;
else if(s == 'C')
C++;
else if(s == 'G')
G++;
else
T++;
});
cout << endl;
if(A != 0)
v.push_back(1);
else if(C != 0)
v.push_back(2);
else if(G != 0)
v.push_back(3);
else
v.push_back(4);
A = C = G = T = 0;
}
return v;
}
// you can use includes, for example:
#include <algorithm>
using namespace std;
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
vector<int> solution(string &S, vector<int> &P, vector<int> &Q) {
// write your code in C++14 (g++ 6.2.0)
int A = 0, C = 0, G = 0, T = 0;
vector<int> v;
for(int i = 0; i < P.end(); i++){
for_each(&(S.at(P[i])), &(S.at(Q[i])) + 1,[&](auto& s){
cout << s << " ";
if(s == 'A')
A++;
else if(s == 'C')
C++;
else if(s == 'G')
G++;
else
T++;
});
cout << endl;
if(A != 0)
v.push_back(1);
else if(C != 0)
v.push_back(2);
else if(G != 0)
v.push_back(3);
else
v.push_back(4);
A = C = G = T = 0;
}
return v;
}
// you can use includes, for example:
#include <algorithm>
using namespace std;
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
vector<int> solution(string &S, vector<int> &P, vector<int> &Q) {
// write your code in C++14 (g++ 6.2.0)
int A = 0, C = 0, G = 0, T = 0;
vector<int> v;
for(int i = 0; P[i] < P.end(); i++){
for_each(&(S.at(P[i])), &(S.at(Q[i])) + 1,[&](auto& s){
cout << s << " ";
if(s == 'A')
A++;
else if(s == 'C')
C++;
else if(s == 'G')
G++;
else
T++;
});
cout << endl;
if(A != 0)
v.push_back(1);
else if(C != 0)
v.push_back(2);
else if(G != 0)
v.push_back(3);
else
v.push_back(4);
A = C = G = T = 0;
}
return v;
}
func.cpp: In function 'std::vector<int> solution(std::__cxx11::string&, std::vector<int>&, std::vector<int>&)': func.cpp:13:25: error: no match for 'operator<' (operand types are '__gnu_cxx::__alloc_traits<std::allocator<int> >::value_type {aka int}' and 'std::vector<int>::iterator {aka __gnu_cxx::__normal_iterator<int*, std::vector<int> >}') for(int i = 0; P[i] < P.end(); i++){ In file included from /opt/lang/gcc/include/c++/6.2.0/bits/stl_algobase.h:64:0, from /opt/lang/gcc/include/c++/6.2.0/bits/char_traits.h:39, from /opt/lang/gcc/include/c++/6.2.0/string:40, from solution.cpp:3: /opt/lang/gcc/include/c++/6.2.0/bits/stl_pair.h:369:5: note: candidate: template<class _T1, class _T2> constexpr bool std::operator<(const std::pair<_T1, _T2>&, const std::pair<_T1, _T2>&) operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) ^~~~~~~~ /opt/lang/gcc/include/c++/6.2.0/bits/stl_pair.h:369:5: note: template argument deduction/substitution failed: func.cpp:13:33: note: mismatched types 'const std::pair<_T1, _T2>' and '__gnu_cxx::__alloc_traits<std::allocator<int> >::value_type {aka int}' for(int i = 0; P[i] < P.end(); i++){ ^ In file included from /opt/lang/gcc/include/c++/6.2.0/bits/stl_algobase.h:67:0, from /opt/lang/gcc/include/c++/6.2.0/bits/char_traits.h:39, from /opt/lang/gcc/include/c++/6.2.0/string:40, from solution.cpp:3: /opt/lang/gcc/include/c++/6.2.0/bits/stl_iterator.h:298:5: note: candidate: template<class _Iterator> bool std::operator<(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_Iterator>&) operator<(const reverse_iterator<_Iterator>& __x, ^~~~~~~~ /opt/lang/gcc/include/c++/6.2.0/bits/stl_iterator.h:298:5: note: template argument deduction/substitution failed: func.cpp:13:33: note: mismatched types 'const std::reverse_iterator<_Iterator>' and '__gnu_cxx::__alloc_traits<std::a
// you can use includes, for example:
#include <algorithm>
using namespace std;
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
vector<int> solution(string &S, vector<int> &P, vector<int> &Q) {
// write your code in C++14 (g++ 6.2.0)
int A = 0, C = 0, G = 0, T = 0;
vector<int> v;
for(int i = 0; i < P.size(); i++){
for_each(&(S.at(P[i])), &(S.at(Q[i])) + 1,[&](auto& s){
cout << s << " ";
if(s == 'A')
A++;
else if(s == 'C')
C++;
else if(s == 'G')
G++;
else
T++;
});
cout << endl;
if(A != 0)
v.push_back(1);
else if(C != 0)
v.push_back(2);
else if(G != 0)
v.push_back(3);
else
v.push_back(4);
A = C = G = T =
}
return v;
}
// you can use includes, for example:
#include <algorithm>
using namespace std;
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
vector<int> solution(string &S, vector<int> &P, vector<int> &Q) {
// write your code in C++14 (g++ 6.2.0)
int A = 0, C = 0, G = 0, T = 0;
vector<int> v;
cout << P.size() << endl;
for(int i = 0; i < P.size(); i++){
for_each(&(S.at(P[i])), &(S.at(Q[i])) + 1,[&](auto& s){
cout << s << " ";
if(s == 'A')
A++;
else if(s == 'C')
C++;
else if(s == 'G')
G++;
else
T++;
});
cout << endl;
if(A != 0)
v.push_back(1);
else if(C != 0)
v.push_back(2);
else if(G != 0)
v.push_back(3);
else
v.push_back(4);
A = C = G = T = 0;
}
return v;
}
// you can use includes, for example:
#include <algorithm>
using namespace std;
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
vector<int> solution(string &S, vector<int> &P, vector<int> &Q) {
// write your code in C++14 (g++ 6.2.0)
int A = 0, C = 0, G = 0, T = 0;
vector<int> v;
for(int i = 0; i < P.size(); i++){
for_each(&(S.at(P[i])), &(S.at(Q[i])) + 1,[&](auto& s){
cout << s << " ";
if(s == 'A')
A++;
else if(s == 'C')
C++;
else if(s == 'G')
G++;
else
T++;
});
cout << endl;
if(A != 0)
v.push_back(1);
else if(C != 0)
v.push_back(2);
else if(G != 0)
v.push_back(3);
else
v.push_back(4);
A = C = G = T = 0;
}
return v;
}
// you can use includes, for example:
#include <algorithm>
using namespace std;
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
vector<int> solution(string &S, vector<int> &P, vector<int> &Q) {
// write your code in C++14 (g++ 6.2.0)
int A = 0, C = 0, G = 0, T = 0;
vector<int> v;
for(int i = 0; i < P.size(); i++){
for_each(&(S.at(P[i])), &(S.at(Q[i])) + 1,[&](auto& s){
if(s == 'A')
A++;
else if(s == 'C')
C++;
else if(s == 'G')
G++;
else
T++;
});
if(A != 0)
v.push_back(1);
else if(C != 0)
v.push_back(2);
else if(G != 0)
v.push_back(3);
else
v.push_back(4);
A = C = G = T = 0;
}
return v;
}
// you can use includes, for example:
#include <algorithm>
using namespace std;
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
vector<int> solution(string &S, vector<int> &P, vector<int> &Q) {
// write your code in C++14 (g++ 6.2.0)
int A = 0, C = 0, G = 0, T = 0;
vector<int> v;
for(int i = 0; i < P.size(); i++){
for_each(&(S.at(P[i])), &(S.at(Q[i])) + 1,[&](auto& s){
if(s == 'A')
A++;
else if(s == 'C')
C++;
else if(s == 'G')
G++;
else
T++;
});
if(A != 0)
v.push_back(1);
else if(C != 0)
v.push_back(2);
else if(G != 0)
v.push_back(3);
else
v.push_back(4);
A = C = G = T = 0;
}
return v;
}
// you can use includes, for example:
#include <algorithm>
using namespace std;
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
vector<int> solution(string &S, vector<int> &P, vector<int> &Q) {
// write your code in C++14 (g++ 6.2.0)
int A = 0, C = 0, G = 0, T = 0;
vector<int> v;
for(int i = 0; i < P.size(); i++){
for_each(&(S.at(P[i])), &(S.at(Q[i])) + 1,[&](auto& s){
if(s == 'A')
A++;
else if(s == 'C')
C++;
else if(s == 'G')
G++;
else
T++;
});
if(A != 0)
v.push_back(1);
else if(C != 0)
v.push_back(2);
else if(G != 0)
v.push_back(3);
else
v.push_back(4);
A = C = G = T = 0;
}
return v;
}
The following issues have been detected: timeout errors.
GGGGGG..??..GGGGGG..??..GGGGGG
running time: 2.600 sec., time limit: 0.100 sec.