Submission #34487

# Submission time Handle Problem Language Result Execution time Memory
34487 2017-11-11T18:12:09 Z top34051 Martian DNA (IOI16_dna) C++14
0 / 100
13 ms 2648 KB
#include "dna.h"
#include <bits/stdc++.h>
using namespace std;

string s;
map<string,int> mp;

bool ask() {
    if(mp.find(s)!=mp.end()) return mp[s];
    return mp[s] = make_test(s);
}

string analyse(int n, int t) {
    int cnt = 0, sq = sqrt(n);
    while(s.size()!=n) {
        s = s + '0';
        if(!ask()) s[s.size()-1] = '1';
        cnt++;
        if(cnt%sq==0) {
            while(!ask()) s.erase(s.size()-1,1);
            break;
        }
    }
    while(!ask()) s.erase(s.size()-1,1);
    while(s.size()!=n) {
        s = '0' + s;
        if(!ask()) s[0] = '1';
    }
    return s;
}

Compilation message

dna.cpp: In function 'bool ask()':
dna.cpp:10:31: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
     return mp[s] = make_test(s);
                               ^
dna.cpp: In function 'std::__cxx11::string analyse(int, int)':
dna.cpp:15:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     while(s.size()!=n) {
                   ^
dna.cpp:25:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     while(s.size()!=n) {
                   ^
grader.cpp: In function 'bool make_test(std::__cxx11::string)':
grader.cpp:14:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i = 0; i < p.size(); i++) {
                    ^
grader.cpp:23:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i = 1; i <= ss.size(); i++) {
                    ^
grader.cpp:28:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if (pr[i] == p.size()) {
             ^
# Verdict Execution time Memory Grader output
1 Correct 0 ms 2036 KB Output is correct
2 Correct 0 ms 2036 KB Output is correct
3 Correct 0 ms 2036 KB Output is correct
4 Incorrect 0 ms 2036 KB Wrong DNA
5 Correct 0 ms 2036 KB Output is correct
6 Correct 0 ms 2036 KB Output is correct
7 Correct 0 ms 2036 KB Output is correct
8 Correct 0 ms 2036 KB Output is correct
9 Incorrect 0 ms 2036 KB Wrong DNA
10 Correct 0 ms 2036 KB Output is correct
11 Correct 0 ms 2036 KB Output is correct
12 Correct 0 ms 2036 KB Output is correct
13 Incorrect 0 ms 2036 KB Wrong DNA
14 Correct 0 ms 2036 KB Output is correct
15 Correct 0 ms 2036 KB Output is correct
16 Incorrect 0 ms 2036 KB Wrong DNA
17 Correct 0 ms 2036 KB Output is correct
18 Incorrect 0 ms 2036 KB Wrong DNA
19 Correct 0 ms 2036 KB Output is correct
20 Correct 0 ms 2036 KB Output is correct
21 Correct 0 ms 2036 KB Output is correct
22 Incorrect 0 ms 2036 KB Wrong DNA
23 Incorrect 0 ms 2036 KB Wrong DNA
24 Correct 0 ms 2036 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 2036 KB Output is correct
2 Correct 0 ms 2036 KB Output is correct
3 Correct 0 ms 2036 KB Output is correct
4 Incorrect 0 ms 2036 KB Wrong DNA
5 Correct 0 ms 2036 KB Output is correct
6 Correct 0 ms 2036 KB Output is correct
7 Incorrect 0 ms 2036 KB Wrong DNA
8 Correct 0 ms 2036 KB Output is correct
9 Correct 0 ms 2036 KB Output is correct
10 Correct 0 ms 2036 KB Output is correct
11 Incorrect 0 ms 2036 KB Wrong DNA
12 Incorrect 0 ms 2036 KB Wrong DNA
13 Incorrect 0 ms 2036 KB Wrong DNA
14 Incorrect 0 ms 2036 KB Wrong DNA
15 Incorrect 0 ms 2036 KB Wrong DNA
16 Correct 0 ms 2036 KB Output is correct
17 Incorrect 0 ms 2036 KB Wrong DNA
18 Incorrect 0 ms 2036 KB Wrong DNA
19 Incorrect 0 ms 2036 KB Wrong DNA
20 Incorrect 0 ms 2036 KB Wrong DNA
21 Incorrect 0 ms 2036 KB Wrong DNA
22 Correct 0 ms 2036 KB Output is correct
23 Incorrect 0 ms 2036 KB Wrong DNA
24 Correct 0 ms 2036 KB Output is correct
25 Correct 0 ms 2036 KB Output is correct
26 Incorrect 0 ms 2036 KB Wrong DNA
27 Correct 0 ms 2036 KB Output is correct
28 Incorrect 0 ms 2036 KB Wrong DNA
29 Incorrect 0 ms 2036 KB Wrong DNA
30 Incorrect 0 ms 2036 KB Wrong DNA
31 Incorrect 0 ms 2036 KB Wrong DNA
32 Incorrect 0 ms 2036 KB Wrong DNA
33 Incorrect 0 ms 2036 KB Wrong DNA
34 Correct 0 ms 2036 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 2036 KB Output is correct
2 Correct 0 ms 2036 KB Output is correct
3 Correct 0 ms 2036 KB Output is correct
4 Incorrect 0 ms 2036 KB Wrong DNA
5 Correct 0 ms 2036 KB Output is correct
6 Correct 0 ms 2036 KB Output is correct
7 Incorrect 0 ms 2036 KB Wrong DNA
8 Correct 0 ms 2036 KB Output is correct
9 Correct 0 ms 2036 KB Output is correct
10 Correct 0 ms 2036 KB Output is correct
11 Incorrect 0 ms 2036 KB Wrong DNA
12 Incorrect 0 ms 2036 KB Wrong DNA
13 Incorrect 0 ms 2036 KB Wrong DNA
14 Incorrect 0 ms 2036 KB Wrong DNA
15 Incorrect 0 ms 2036 KB Wrong DNA
16 Correct 0 ms 2036 KB Output is correct
17 Incorrect 0 ms 2036 KB Wrong DNA
18 Incorrect 0 ms 2036 KB Wrong DNA
19 Incorrect 0 ms 2036 KB Wrong DNA
20 Incorrect 0 ms 2036 KB Wrong DNA
21 Incorrect 0 ms 2036 KB Wrong DNA
22 Incorrect 9 ms 2648 KB Wrong DNA
23 Incorrect 9 ms 2648 KB Wrong DNA
24 Incorrect 13 ms 2648 KB Wrong DNA
25 Incorrect 13 ms 2648 KB Wrong DNA
26 Incorrect 13 ms 2648 KB Wrong DNA
27 Incorrect 9 ms 2648 KB Wrong DNA
28 Correct 9 ms 2648 KB Output is correct
29 Correct 6 ms 2648 KB Output is correct
30 Correct 9 ms 2648 KB Output is correct
31 Incorrect 9 ms 2648 KB Wrong DNA
32 Correct 6 ms 2648 KB Output is correct
33 Incorrect 9 ms 2648 KB Wrong DNA
34 Incorrect 9 ms 2648 KB Wrong DNA
35 Incorrect 9 ms 2648 KB Wrong DNA
36 Incorrect 9 ms 2648 KB Wrong DNA
37 Incorrect 9 ms 2648 KB Wrong DNA
38 Incorrect 6 ms 2648 KB Wrong DNA
39 Correct 9 ms 2648 KB Output is correct