답안 #285785

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
285785 2020-08-29T15:18:40 Z kevlee Martian DNA (IOI16_dna) C++17
0 / 100
17 ms 384 KB
#include "dna.h"
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define mod 1000000007
#define h1 7897897897897897
#define h2 7897466719774591
#define b1 98762051
#define b2 98765431
#define inf 1000000000
#define pi 3.1415926535897932384626
#define LMAX 9223372036854775807
#define ll long long
#define fi first
#define se second
#define pii pair<int, int>
#define pll pair<ll, ll>
#define vi vector<int>
#define vl vector<ll>
#define vp vector<pii>
#define SET(a, b) memset(a, b, sizeof(a));
#define all(x) (x).begin(), (x).end()
#define FOR(i, a, b) for (int i = (a); i <= (b); i++)
#define FORD(i, a, b) for (int i = (a); i >= (b); i--)
int init(int n, char c) {
  int lo = 1, hi = n, ans = 0;
  while (lo <= hi) {
    int mid = (lo + hi) / 2;
    string s = string(mid, c);
    if (make_test(s)) {
      ans = mid;
      lo = mid + 1;
    } else {
      hi = mid - 1;
    }
  }
  return ans;
}
int bs(int n, string str) {
  int lo = 1, hi = n, ans = 0;
  while (lo <= hi) {
    int mid = (lo + hi) / 2;
    if (make_test(str.substr(0, mid))) {
      ans = mid;
      lo = mid + 1;
    } else {
      hi = mid - 1;
    }
  }
  return ans;
}
string analyse(int n, int t) {
  int maxzero = init(n, '0');
  cout << maxzero << endl;
  if (maxzero == 0) {
    return string(n, '1');
  }
  string s = string(maxzero, '0');
  int rem = n - maxzero, cnt = maxzero;
  while (rem > 0 && cnt <= maxzero) {
    if (make_test(s + "1")) {
      s += "1";
      cnt = 0;
    } else {
      s += "0";
      cnt++;
    }
    rem--;
  }
  rem = n - bs(s.length(), s);
  s = s.substr(0, n - rem);
  while (rem > 0) {
    if (make_test("0" + s)) s = "0" + s;
    else s = "1" + s;
    rem--;
  }
  return s;
}                       

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 Incorrect 1 ms 384 KB Secret is incorrect!
2 Incorrect 0 ms 256 KB Secret is incorrect!
3 Incorrect 0 ms 256 KB Secret is incorrect!
4 Incorrect 0 ms 256 KB Secret is incorrect!
5 Incorrect 0 ms 256 KB Secret is incorrect!
6 Incorrect 1 ms 256 KB Secret is incorrect!
7 Incorrect 1 ms 256 KB Secret is incorrect!
8 Incorrect 1 ms 384 KB Secret is incorrect!
9 Incorrect 0 ms 256 KB Secret is incorrect!
10 Incorrect 1 ms 256 KB Secret is incorrect!
11 Incorrect 0 ms 256 KB Secret is incorrect!
12 Incorrect 0 ms 256 KB Secret is incorrect!
13 Incorrect 1 ms 256 KB Secret is incorrect!
14 Incorrect 0 ms 256 KB Secret is incorrect!
15 Incorrect 1 ms 256 KB Secret is incorrect!
16 Incorrect 0 ms 256 KB Secret is incorrect!
17 Incorrect 0 ms 256 KB Secret is incorrect!
18 Incorrect 0 ms 256 KB Secret is incorrect!
19 Incorrect 1 ms 256 KB Secret is incorrect!
20 Incorrect 0 ms 256 KB Secret is incorrect!
21 Incorrect 0 ms 256 KB Secret is incorrect!
22 Incorrect 1 ms 384 KB Secret is incorrect!
23 Incorrect 1 ms 256 KB Secret is incorrect!
24 Incorrect 0 ms 256 KB Secret is incorrect!
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 256 KB Secret is incorrect!
2 Incorrect 0 ms 256 KB Secret is incorrect!
3 Incorrect 0 ms 256 KB Secret is incorrect!
4 Incorrect 0 ms 256 KB Secret is incorrect!
5 Incorrect 0 ms 256 KB Secret is incorrect!
6 Incorrect 0 ms 256 KB Secret is incorrect!
7 Incorrect 0 ms 256 KB Secret is incorrect!
8 Incorrect 1 ms 256 KB Secret is incorrect!
9 Incorrect 0 ms 256 KB Secret is incorrect!
10 Incorrect 0 ms 372 KB Secret is incorrect!
11 Incorrect 0 ms 256 KB Secret is incorrect!
12 Incorrect 0 ms 256 KB Secret is incorrect!
13 Incorrect 0 ms 256 KB Secret is incorrect!
14 Incorrect 0 ms 256 KB Secret is incorrect!
15 Incorrect 0 ms 256 KB Secret is incorrect!
16 Incorrect 0 ms 256 KB Secret is incorrect!
17 Incorrect 1 ms 256 KB Secret is incorrect!
18 Incorrect 1 ms 384 KB Secret is incorrect!
19 Incorrect 1 ms 256 KB Secret is incorrect!
20 Incorrect 1 ms 256 KB Secret is incorrect!
21 Incorrect 1 ms 256 KB Secret is incorrect!
22 Incorrect 1 ms 256 KB Secret is incorrect!
23 Incorrect 1 ms 256 KB Secret is incorrect!
24 Incorrect 0 ms 256 KB Secret is incorrect!
25 Incorrect 1 ms 256 KB Secret is incorrect!
26 Incorrect 1 ms 256 KB Secret is incorrect!
27 Incorrect 1 ms 256 KB Secret is incorrect!
28 Incorrect 1 ms 256 KB Secret is incorrect!
29 Incorrect 1 ms 256 KB Secret is incorrect!
30 Incorrect 1 ms 256 KB Secret is incorrect!
31 Incorrect 1 ms 256 KB Secret is incorrect!
32 Incorrect 1 ms 256 KB Secret is incorrect!
33 Incorrect 1 ms 256 KB Secret is incorrect!
34 Incorrect 1 ms 256 KB Secret is incorrect!
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 256 KB Secret is incorrect!
2 Incorrect 1 ms 256 KB Secret is incorrect!
3 Incorrect 0 ms 256 KB Secret is incorrect!
4 Incorrect 0 ms 256 KB Secret is incorrect!
5 Incorrect 0 ms 256 KB Secret is incorrect!
6 Incorrect 0 ms 256 KB Secret is incorrect!
7 Incorrect 1 ms 256 KB Secret is incorrect!
8 Incorrect 1 ms 256 KB Secret is incorrect!
9 Incorrect 1 ms 256 KB Secret is incorrect!
10 Incorrect 0 ms 256 KB Secret is incorrect!
11 Incorrect 1 ms 384 KB Secret is incorrect!
12 Incorrect 1 ms 256 KB Secret is incorrect!
13 Incorrect 1 ms 256 KB Secret is incorrect!
14 Incorrect 1 ms 384 KB Secret is incorrect!
15 Incorrect 1 ms 256 KB Secret is incorrect!
16 Incorrect 0 ms 256 KB Secret is incorrect!
17 Incorrect 1 ms 256 KB Secret is incorrect!
18 Incorrect 1 ms 256 KB Secret is incorrect!
19 Incorrect 1 ms 256 KB Secret is incorrect!
20 Incorrect 1 ms 384 KB Secret is incorrect!
21 Incorrect 1 ms 256 KB Secret is incorrect!
22 Incorrect 11 ms 384 KB Secret is incorrect!
23 Incorrect 14 ms 384 KB Secret is incorrect!
24 Incorrect 13 ms 384 KB Secret is incorrect!
25 Incorrect 15 ms 384 KB Secret is incorrect!
26 Incorrect 17 ms 384 KB Secret is incorrect!
27 Incorrect 8 ms 384 KB Secret is incorrect!
28 Incorrect 8 ms 384 KB Secret is incorrect!
29 Incorrect 1 ms 384 KB Secret is incorrect!
30 Incorrect 1 ms 384 KB Secret is incorrect!
31 Incorrect 7 ms 372 KB Secret is incorrect!
32 Incorrect 1 ms 384 KB Secret is incorrect!
33 Incorrect 11 ms 384 KB Secret is incorrect!
34 Incorrect 10 ms 384 KB Secret is incorrect!
35 Incorrect 9 ms 384 KB Secret is incorrect!
36 Incorrect 9 ms 384 KB Secret is incorrect!
37 Incorrect 8 ms 384 KB Secret is incorrect!
38 Incorrect 5 ms 384 KB Secret is incorrect!
39 Incorrect 7 ms 384 KB Secret is incorrect!