제출 #731589

#제출 시각아이디문제언어결과실행 시간메모리
731589abcvuitunggioMartian DNA (IOI16_dna)C++17
0 / 100
15 ms388 KiB
#include "dna.h"
#include <cstdlib>
#include <bits/stdc++.h>
using namespace std;
string analyse(int n, int t) {
    int l=0,r=n-1,kq=-1;
    string s;
    while (l<=r){
        int mid=(l+r)>>1;
        string s2;
        for (int i=0;i<mid;i++)
            s2+='0';
        if (make_test(s2)){
            kq=mid;
            l=mid+1;
        }
        else
            r=mid-1;
    }
    int cnt=0;
    while (s.length()<n){
        if (make_test(s+'1')){
            s+='1';
            cnt=0;
            continue;
        }
        s+='0';
        cnt++;
        if (cnt>kq)
            break;
    }
    l=0,r=s.length()-1,kq=-1;
    while (l<=r){
        int mid=(l+r)>>1;
        string s2;
        for (int i=0;i<mid;i++)
            s2+=s[i];
        if (make_test(s2)){
            kq=mid;
            l=mid+1;
        }
        else
            r=mid-1;
    }
    if (kq<s.length()-1)
        s.erase(kq+1,s.length()-kq);
    while (s.length()<n){
        if (make_test('1'+s)){
            s='1'+s;
            continue;
        }
        s='0'+s;
    }
    return s;
}

컴파일 시 표준 에러 (stderr) 메시지

dna.cpp: In function 'std::string analyse(int, int)':
dna.cpp:21:22: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   21 |     while (s.length()<n){
      |            ~~~~~~~~~~^~
dna.cpp:45:11: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   45 |     if (kq<s.length()-1)
      |         ~~^~~~~~~~~~~~~
dna.cpp:47:22: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   47 |     while (s.length()<n){
      |            ~~~~~~~~~~^~
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()) {
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...