답안 #527968

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
527968 2022-02-18T21:17:30 Z tabr Martian DNA (IOI16_dna) C++17
0 / 100
2 ms 344 KB
#include <bits/stdc++.h>
using namespace std;
#ifdef tabr
#include "library/debug.cpp"
#else
#define debug(...)
#endif

#ifdef tabr
function<bool(string)> make_test;
#else
#include "dna.h"
#endif

mt19937 rng((unsigned int) chrono::steady_clock::now().time_since_epoch().count());

int rand_int(int a, int b) {  // [a, b]
    return uniform_int_distribution<int>(a, b)(rng);
}

string analyse(int n, int) {
    string ans;
    int lst = -1;
    for (int i = 0; i < n; i++) {
        string c = to_string(rand_int(0, 1));
        if (make_test(ans + c)) {
            ans += c;
            lst = i;
        } else {
            ans += to_string(c[0] ^ '0' ^ '1');
        }
        if (lst + 15 < i) {
            if (make_test(ans)) {
                lst = i;
                continue;
            }
            int low = lst + 1;
            int high = (int) ans.size();
            while (high - low > 1) {
                int mid = (high + low) >> 1;
                if (make_test(ans.substr(mid))) {
                    low = mid;
                } else {
                    high = mid;
                }
            }
            ans.resize(low);
            lst = low - 1;
        }
    }
    for (int i = (int) ans.size(); i < n; i++) {
        string c = to_string(rand_int(0, 1));
        if (make_test(c + ans)) {
            ans = c + ans;
        } else {
            ans = c + ans;
        }
    }
    return ans;
}

#ifdef tabr
int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    return 0;
}
#endif

Compilation message

grader.cpp: In function 'bool make_test(std::string)':
grader.cpp:14:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   14 |  for (int i = 0; i < p.size(); i++) {
      |                  ~~^~~~~~~~~~
grader.cpp:23:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   23 |  for (int i = 1; i <= ss.size(); i++) {
      |                  ~~^~~~~~~~~~~~
grader.cpp:28:13: warning: comparison of integer expressions of different signedness: '__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type' {aka 'int'} and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   28 |   if (pr[i] == p.size()) {
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 256 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Incorrect 1 ms 204 KB Wrong DNA
4 Correct 1 ms 204 KB Output is correct
5 Correct 1 ms 204 KB Output is correct
6 Incorrect 1 ms 204 KB Wrong DNA
7 Incorrect 1 ms 204 KB Wrong DNA
8 Incorrect 1 ms 204 KB Wrong DNA
9 Incorrect 1 ms 204 KB Wrong DNA
10 Incorrect 1 ms 204 KB Wrong DNA
11 Incorrect 0 ms 204 KB Wrong DNA
12 Incorrect 1 ms 296 KB Wrong DNA
13 Incorrect 1 ms 204 KB Wrong DNA
14 Incorrect 0 ms 204 KB Wrong DNA
15 Incorrect 0 ms 204 KB Wrong DNA
16 Incorrect 1 ms 204 KB Wrong DNA
17 Incorrect 0 ms 204 KB Wrong DNA
18 Incorrect 1 ms 204 KB Wrong DNA
19 Incorrect 1 ms 296 KB Wrong DNA
20 Incorrect 1 ms 204 KB Wrong DNA
21 Incorrect 1 ms 204 KB Wrong DNA
22 Incorrect 1 ms 204 KB Wrong DNA
23 Incorrect 1 ms 204 KB Wrong DNA
24 Incorrect 1 ms 204 KB Wrong DNA
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 204 KB Wrong DNA
2 Incorrect 0 ms 204 KB Wrong DNA
3 Incorrect 1 ms 296 KB Wrong DNA
4 Incorrect 0 ms 204 KB Wrong DNA
5 Incorrect 1 ms 204 KB Wrong DNA
6 Incorrect 1 ms 204 KB Wrong DNA
7 Incorrect 1 ms 204 KB Wrong DNA
8 Incorrect 1 ms 204 KB Wrong DNA
9 Incorrect 1 ms 204 KB Wrong DNA
10 Incorrect 1 ms 296 KB Wrong DNA
11 Incorrect 1 ms 204 KB Wrong DNA
12 Incorrect 0 ms 296 KB Wrong DNA
13 Incorrect 1 ms 204 KB Wrong DNA
14 Incorrect 1 ms 204 KB Wrong DNA
15 Incorrect 1 ms 208 KB Wrong DNA
16 Incorrect 0 ms 204 KB Wrong DNA
17 Incorrect 1 ms 208 KB Wrong DNA
18 Incorrect 1 ms 324 KB Wrong DNA
19 Incorrect 0 ms 204 KB Wrong DNA
20 Incorrect 1 ms 204 KB Wrong DNA
21 Incorrect 1 ms 204 KB Wrong DNA
22 Incorrect 1 ms 300 KB Wrong DNA
23 Incorrect 1 ms 204 KB Wrong DNA
24 Incorrect 1 ms 204 KB Wrong DNA
25 Incorrect 1 ms 204 KB Wrong DNA
26 Incorrect 1 ms 204 KB Wrong DNA
27 Incorrect 1 ms 204 KB Wrong DNA
28 Incorrect 1 ms 204 KB Wrong DNA
29 Incorrect 1 ms 204 KB Wrong DNA
30 Incorrect 1 ms 288 KB Wrong DNA
31 Incorrect 1 ms 308 KB Wrong DNA
32 Incorrect 1 ms 204 KB Wrong DNA
33 Incorrect 1 ms 204 KB Wrong DNA
34 Incorrect 1 ms 204 KB Wrong DNA
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Output is correct
2 Incorrect 0 ms 208 KB Wrong DNA
3 Incorrect 0 ms 296 KB Wrong DNA
4 Incorrect 1 ms 212 KB Wrong DNA
5 Incorrect 1 ms 216 KB Wrong DNA
6 Incorrect 1 ms 216 KB Wrong DNA
7 Incorrect 1 ms 312 KB Wrong DNA
8 Incorrect 1 ms 216 KB Wrong DNA
9 Incorrect 1 ms 216 KB Wrong DNA
10 Incorrect 1 ms 216 KB Wrong DNA
11 Incorrect 1 ms 296 KB Wrong DNA
12 Incorrect 0 ms 216 KB Wrong DNA
13 Incorrect 0 ms 216 KB Wrong DNA
14 Incorrect 1 ms 344 KB Wrong DNA
15 Incorrect 1 ms 212 KB Wrong DNA
16 Incorrect 1 ms 296 KB Wrong DNA
17 Incorrect 1 ms 296 KB Wrong DNA
18 Incorrect 1 ms 296 KB Wrong DNA
19 Incorrect 1 ms 204 KB Wrong DNA
20 Incorrect 1 ms 204 KB Wrong DNA
21 Incorrect 1 ms 204 KB Wrong DNA
22 Incorrect 2 ms 296 KB Wrong DNA
23 Incorrect 1 ms 332 KB Wrong DNA
24 Incorrect 1 ms 292 KB Wrong DNA
25 Incorrect 2 ms 296 KB Wrong DNA
26 Incorrect 2 ms 332 KB Wrong DNA
27 Incorrect 1 ms 332 KB Wrong DNA
28 Incorrect 1 ms 296 KB Wrong DNA
29 Incorrect 1 ms 276 KB Wrong DNA
30 Incorrect 1 ms 244 KB Wrong DNA
31 Incorrect 1 ms 332 KB Wrong DNA
32 Incorrect 1 ms 332 KB Wrong DNA
33 Incorrect 1 ms 332 KB Wrong DNA
34 Incorrect 1 ms 332 KB Wrong DNA
35 Incorrect 2 ms 332 KB Wrong DNA
36 Incorrect 1 ms 332 KB Wrong DNA
37 Incorrect 1 ms 332 KB Wrong DNA
38 Incorrect 2 ms 300 KB Wrong DNA
39 Incorrect 1 ms 292 KB Wrong DNA