Submission details
Task:DNA sequence
Sender:dani28
Submission time:2016-10-25 19:20:55 +0300
Language:C++
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.45 sdetails

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;
}

Test details

Test 1

Verdict: ACCEPTED

input
ACGCGGGCTCCTAGCGTTAGCAGTTGAGTG...

correct output
YES
YES
NO
NO
YES
...

user output
YES
YES
NO
NO
YES
...