Submission #963354

# Submission time Handle Problem Language Result Execution time Memory
963354 2024-04-14T21:26:19 Z Kalata_56 Martian DNA (IOI16_dna) C++17
100 / 100
12 ms 684 KB
#include<bits/stdc++.h>
#include "dna.h"
using namespace std;
string dna;
string dna2;
string analyse(int n,int t){
    int l=0,r=n+1;
    while(l<r-1){
        //cout<<"lala"<<endl;
        int mid=(l+r)/2;
        dna="";
        for(int i=0;i<mid;i++){
            dna+="0";
        }
        if(make_test(dna)){
            l=mid;
        }else{
            r=mid;
        }
    }
    dna="";
    if(l==0){
        for(int i=0;i<n;i++){
            dna+="1";
        }
        return dna;
    }
    //cout<<"nuli\n";
    for(int i=0;i<l;i++){
        dna+="0";
    }
    //cout<<dna<<endl;
    int kolko=0;
    while(kolko<=l){
        //cout<<"kude"<<endl;
        dna+="1";
        if(make_test(dna)){
            kolko=0;
        }else{
            dna.pop_back();
            dna.push_back('0');
            kolko++;
        }
    }
    //cout<<dna<<endl;
    while(dna[dna.size()-1]=='0'){
        dna.pop_back();
    }
    l=0;
    r=n+1;
    while(l<r-1){
        int mid=(l+r)/2;
        for(int i=0;i<mid;i++){
            dna+="0";
        }
        if(make_test(dna)){
            l=mid;
        }else{
            r=mid;
        }
        for(int i=0;i<mid;i++){
            dna.pop_back();
        }
    }
    for(int i=0;i<l;i++){
        dna+="0";
    }
    //cout<<"otzad\n";
    //cout<<dna<<endl;
    for(int i=dna.size();i<n;i++){
        dna2="0"+dna;
        if(make_test(dna2)){
            dna=dna2;
        }else{
            dna="1"+dna;
        }
    }
    return dna;
}

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()) {
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 1 ms 344 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 344 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
11 Correct 1 ms 348 KB Output is correct
12 Correct 0 ms 348 KB Output is correct
13 Correct 0 ms 348 KB Output is correct
14 Correct 0 ms 348 KB Output is correct
15 Correct 1 ms 344 KB Output is correct
16 Correct 0 ms 348 KB Output is correct
17 Correct 0 ms 356 KB Output is correct
18 Correct 1 ms 344 KB Output is correct
19 Correct 1 ms 348 KB Output is correct
20 Correct 0 ms 436 KB Output is correct
21 Correct 0 ms 352 KB Output is correct
22 Correct 0 ms 344 KB Output is correct
23 Correct 0 ms 352 KB Output is correct
24 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Correct 1 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 1 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
10 Correct 1 ms 344 KB Output is correct
11 Correct 0 ms 344 KB Output is correct
12 Correct 1 ms 348 KB Output is correct
13 Correct 0 ms 348 KB Output is correct
14 Correct 0 ms 348 KB Output is correct
15 Correct 1 ms 600 KB Output is correct
16 Correct 1 ms 352 KB Output is correct
17 Correct 1 ms 344 KB Output is correct
18 Correct 1 ms 344 KB Output is correct
19 Correct 1 ms 348 KB Output is correct
20 Correct 1 ms 348 KB Output is correct
21 Correct 1 ms 348 KB Output is correct
22 Correct 1 ms 348 KB Output is correct
23 Correct 0 ms 684 KB Output is correct
24 Correct 1 ms 344 KB Output is correct
25 Correct 1 ms 344 KB Output is correct
26 Correct 1 ms 344 KB Output is correct
27 Correct 1 ms 348 KB Output is correct
28 Correct 1 ms 432 KB Output is correct
29 Correct 0 ms 348 KB Output is correct
30 Correct 1 ms 348 KB Output is correct
31 Correct 0 ms 348 KB Output is correct
32 Correct 1 ms 348 KB Output is correct
33 Correct 1 ms 348 KB Output is correct
34 Correct 1 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Correct 1 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 344 KB Output is correct
8 Correct 1 ms 344 KB Output is correct
9 Correct 0 ms 344 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
11 Correct 0 ms 348 KB Output is correct
12 Correct 1 ms 348 KB Output is correct
13 Correct 0 ms 348 KB Output is correct
14 Correct 1 ms 348 KB Output is correct
15 Correct 1 ms 348 KB Output is correct
16 Correct 1 ms 344 KB Output is correct
17 Correct 1 ms 352 KB Output is correct
18 Correct 1 ms 352 KB Output is correct
19 Correct 1 ms 344 KB Output is correct
20 Correct 1 ms 352 KB Output is correct
21 Correct 1 ms 360 KB Output is correct
22 Correct 7 ms 348 KB Output is correct
23 Correct 9 ms 352 KB Output is correct
24 Correct 8 ms 344 KB Output is correct
25 Correct 12 ms 348 KB Output is correct
26 Correct 10 ms 348 KB Output is correct
27 Correct 5 ms 476 KB Output is correct
28 Correct 5 ms 348 KB Output is correct
29 Correct 11 ms 476 KB Output is correct
30 Correct 0 ms 348 KB Output is correct
31 Correct 6 ms 348 KB Output is correct
32 Correct 11 ms 476 KB Output is correct
33 Correct 7 ms 348 KB Output is correct
34 Correct 7 ms 348 KB Output is correct
35 Correct 7 ms 348 KB Output is correct
36 Correct 6 ms 348 KB Output is correct
37 Correct 6 ms 436 KB Output is correct
38 Correct 8 ms 348 KB Output is correct
39 Correct 9 ms 496 KB Output is correct