제출 #124717

#제출 시각아이디문제언어결과실행 시간메모리
124717mohammedehab2002Martian DNA (IOI16_dna)C++11
100 / 100
17 ms400 KiB
#include "dna.h"
using namespace std;
string analyse(int n,int t)
{
	int st=0,en=n;
	while (st!=en)
	{
		int mid=(st+en+1)/2;
		if (make_test(string(mid,'0')))
		st=mid;
		else
		en=mid-1;
	}
	string ans=string(st,'0');
	int cur=st;
	while (cur<=st)
	{
		if (make_test(ans+"1"))
		{
			ans+="1";
			cur=0;
		}
		else
		{
			ans+="0";
			cur++;
		}
	}
	st=0;
	en=ans.size()-1;
	while (st!=en)
	{
		int mid=(st+en+1)/2;
		if (make_test(ans.substr(0,mid)))
		st=mid;
		else
		en=mid-1;
	}
	ans=ans.substr(0,st);
	while (ans.size()!=n)
	{
		if (make_test("0"+ans))
		ans="0"+ans;
		else
		ans="1"+ans;
	}
	return ans;
}

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

dna.cpp: In function 'std::__cxx11::string analyse(int, int)':
dna.cpp:40:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  while (ans.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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...