| Task: | DNA sequence |
| Sender: | dani28 |
| Submission time: | 2016-10-25 19:20:55 +0300 |
| Language: | C++ |
| Status: | READY |
| Result: | ACCEPTED |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.45 s | details |
Compiler report
input/code.cpp: In function 'int main(int, char**)':
input/code.cpp:13:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < dna.size(); ++i) {
^
input/code.cpp:16:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (i + j >= dna.size())
^Code
#include <iostream>
#include <string>
#include <unordered_set>
using namespace std;
string dna;
unordered_set<string> sequence;
int query = 0;
int main(int argc, char *argv[])
{
cin >> dna;
cin >> query;
for (int i = 0; i < dna.size(); ++i) {
for (int j = 0; j < 10; ++j) {
// [i..i+j]
if (i + j >= dna.size())
break;
string r = dna.substr(i, j + 1);
sequence.insert(r);
}
}
for (int i = 0; i < query; ++i) {
string result;
cin >> result;
if (sequence.find(result) != sequence.end()) {
cout << "YES\n";
} else {
cout << "NO\n";
}
}
return 0;
}