Submission #373413

#TimeUsernameProblemLanguageResultExecution timeMemory
373413Ahmad_HasanMartian DNA (IOI16_dna)C++17
100 / 100
15 ms492 KiB
#include "dna.h" #include <cstdio> #include <cstdlib> #include <cstring> #include <iostream> #include <vector> #include <bits/stdc++.h> using namespace std; string analyse(int n, int t) { make_test("0"); string ons=""; for(int i=0;i<n;i++) ons+='1'; int l=0,r=n; int cnt1=0; ///cout<<ons<<'\n'; while(l<=r){ int mid=(r-l)/2+l; ///cout<<ons.substr(0,mid)<<'\n'; if(make_test(ons.substr(0,mid))){ l=mid+1; cnt1=mid; }else{ r=mid-1; } } ///cout<<cnt1<<'\n'; ons=ons.substr(0,cnt1); int cnt=0; while(cnt<=cnt1){ if(make_test(ons+'0')){ cnt=0; ons+='0'; }else{ cnt++; ons+='1'; } } l=cnt1,r=n; int lst=0; ///cout<<ons<<'\n'; while(l<=r){ int mid=(r-l)/2+l; ///cout<<ons.substr(0,mid)<<'\n'; if(make_test(ons.substr(0,mid))){ l=mid+1; lst=mid; }else{ r=mid-1; } } ons=ons.substr(0,lst); while(ons.size()<n){ if(make_test("0"+ons)){ ons.insert(0,1,'0'); }else{ ons.insert(0,1,'1'); } } return ons; }

Compilation message (stderr)

dna.cpp: In function 'std::string analyse(int, int)':
dna.cpp:60:21: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   60 |     while(ons.size()<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...