This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "dna.h"
#include <bits/stdc++.h>
using namespace std;
string analyse(int n, int t) {
int i,l,r,mid,len,cnt;
string s;
//longest 0s
l = 0; r = n; len = 0;
while(l<=r) {
mid = (l+r)/2;
if(make_test(string(mid,'0'))) {
len = mid;
l = mid+1;
}
else r = mid-1;
}
s = string(len,'0');
cerr << s << endl;
//right
cnt = s.size();
while(1) {
if(make_test(s+'1')) s = s + '1', cnt = 0;
else s = s + '0', cnt++;
if(cnt>len) break;
}
cerr << s << endl;
//del right
l = 0; r = s.size(); len = 0;
while(l<=r) {
mid = (l+r)/2;
if(make_test(s.substr(0,mid))) {
len = mid;
l = mid+1;
}
else r = mid-1;
}
s = s.substr(0,len);
cerr << s << endl;
//left
len = s.size();
for(i=0;i<n-len;i++) {
if(make_test('1'+s)) s = '1' + s;
else s = '0' + s;
}
return s;
}
Compilation message (stderr)
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 |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |