Submission #1228171

#TimeUsernameProblemLanguageResultExecution timeMemory
1228171minhpkGenetics (BOI18_genetics)C++20
46 / 100
2066 ms3584 KiB
#pragma GCC target("avx")
#pragma GCC optimize(3)
#pragma GCC target("popcnt")
#pragma GCC optimize("Ofast")
#pragma GCC optimize("inline")
#pragma GCC optimize("-fgcse")
#pragma GCC optimize("-fgcse-lm")
#pragma GCC optimize("-fipa-sra")
#pragma GCC optimize("-ftree-pre")
#pragma GCC optimize("-ftree-vrp")
#pragma GCC optimize("-fpeephole2")
#pragma GCC optimize("-ffast-math")
#pragma GCC optimize("-fsched-spec")
#pragma GCC optimize("unroll-loops")
#pragma GCC optimize("-falign-jumps")
#pragma GCC optimize("-falign-loops")
#pragma GCC optimize("-falign-labels")
#pragma GCC optimize("-fdevirtualize")
#pragma GCC optimize("-fcaller-saves")
#pragma GCC optimize("-fcrossjumping")
#pragma GCC optimize("-fthread-jumps")
#pragma GCC optimize("-funroll-loops")
#pragma GCC optimize("-fwhole-program")
#pragma GCC optimize("-freorder-blocks")
#pragma GCC optimize("-fschedule-insns")
#pragma GCC optimize("inline-functions")
#pragma GCC optimize("-ftree-tail-merge")
#pragma GCC optimize("-fschedule-insns2")
#pragma GCC optimize("-fstrict-aliasing")
#pragma GCC optimize("-fstrict-overflow")
#pragma GCC optimize("-falign-functions")
#pragma GCC optimize("-fcse-skip-blocks")
#pragma GCC optimize("-fcse-follow-jumps")
#pragma GCC optimize("-fsched-interblock")
#pragma GCC optimize("-fpartial-inlining")
#pragma GCC optimize("no-stack-protector")
#pragma GCC optimize("-freorder-functions")
#pragma GCC optimize("-findirect-inlining")
#pragma GCC optimize("-fhoist-adjacent-loads")
#pragma GCC optimize("-frerun-cse-after-loop")
#pragma GCC optimize("inline-small-functions")
#pragma GCC optimize("-finline-small-functions")
#pragma GCC optimize("-ftree-switch-conversion")
#pragma GCC optimize("-foptimize-sibling-calls")
#pragma GCC optimize("-fexpensive-optimizations")
#pragma GCC optimize("-funsafe-loop-optimizations")
#pragma GCC optimize("inline-functions-called-once")
#pragma GCC optimize("-fdelete-null-pointer-checks")
#include <bits/stdc++.h>

using namespace std;


const int BUFFER_SIZE = 1 << 20;
char input_buffer[BUFFER_SIZE];
int input_pos = 0, input_len = 0;

inline char nextChar() {
    if (input_pos == input_len) {
        input_pos = 0;
        input_len = fread(input_buffer, 1, BUFFER_SIZE, stdin);
        if (input_len == 0) return EOF;
    }
    return input_buffer[input_pos++];
}

inline void fast_read(int &x) {
    x = 0;
    char c;
    bool neg = false;

    do {
        c = nextChar();
    } while (c != '-' && (c < '0' || c > '9'));

    if (c == '-') {
        neg = true;
        c = nextChar();
    }

    while (c >= '0' && c <= '9') {
        x = x * 10 + (c - '0');
        c = nextChar();
    }

    if (neg) x = -x;
}

inline void fast_read(string &s) {
    s.clear();
    char c;
    do {
        c = nextChar();
        if (c == EOF) return;
    } while (c == ' ' || c == '\n' || c == '\r' || c == '\t');
    for (; c != EOF && c != ' ' && c != '\n' && c != '\r' && c != '\t'; c = nextChar()) {
        s.push_back(c);
    }
}

bitset<4101> t[4101];
bitset<4101> t1[4101];
bitset<4101> t2[4101];
bitset<4101> t3[4101];
int res[4101];

signed main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);

    int a, b, c;
    fast_read(a);
    fast_read(b);
    fast_read(c);

    for (int i = 1; i <= a; i++) {
        string s;
        fast_read(s);
        for (int j = 0; j < b; j++) {
            if (s[j]=='A'){
                t[i][j]=1;
            }else if (s[j]=='T'){
                t1[i][j]=1;
            }else if (s[j]=='G'){
                t2[i][j]=1;
            }
        }
    }

    for (int i = 1; i <= a; i++) {
        bool check=true;
        for (int j = 1; j <= a; j++) {
            if (i==j){
                continue;
            }
            bitset<4101> mask;
            mask=(t[i]^t[j])|(t1[i]^t1[j])|(t2[i]^t2[j]);
          
            if (mask.count()!=c){
                check=false;
                break;
            }

        }
      //  cout << check << "\n";
        if (check){
            cout << i << "\n";
            return 0;
        }
    }

    return 0;
}

Compilation message (stderr)

genetics.cpp:23:39: warning: bad option '-fwhole-program' to pragma 'optimize' [-Wpragmas]
   23 | #pragma GCC optimize("-fwhole-program")
      |                                       ^
genetics.cpp:30:41: warning: bad option '-fstrict-overflow' to pragma 'optimize' [-Wpragmas]
   30 | #pragma GCC optimize("-fstrict-overflow")
      |                                         ^
genetics.cpp:32:41: warning: bad option '-fcse-skip-blocks' to pragma 'optimize' [-Wpragmas]
   32 | #pragma GCC optimize("-fcse-skip-blocks")
      |                                         ^
genetics.cpp:46:51: warning: bad option '-funsafe-loop-optimizations' to pragma 'optimize' [-Wpragmas]
   46 | #pragma GCC optimize("-funsafe-loop-optimizations")
      |                                                   ^
genetics.cpp:58:22: warning: bad option '-fwhole-program' to attribute 'optimize' [-Wattributes]
   58 | inline char nextChar() {
      |                      ^
genetics.cpp:58:22: warning: bad option '-fstrict-overflow' to attribute 'optimize' [-Wattributes]
genetics.cpp:58:22: warning: bad option '-fcse-skip-blocks' to attribute 'optimize' [-Wattributes]
genetics.cpp:58:22: warning: bad option '-funsafe-loop-optimizations' to attribute 'optimize' [-Wattributes]
genetics.cpp:67:29: warning: bad option '-fwhole-program' to attribute 'optimize' [-Wattributes]
   67 | inline void fast_read(int &x) {
      |                             ^
genetics.cpp:67:29: warning: bad option '-fstrict-overflow' to attribute 'optimize' [-Wattributes]
genetics.cpp:67:29: warning: bad option '-fcse-skip-blocks' to attribute 'optimize' [-Wattributes]
genetics.cpp:67:29: warning: bad option '-funsafe-loop-optimizations' to attribute 'optimize' [-Wattributes]
genetics.cpp:89:32: warning: bad option '-fwhole-program' to attribute 'optimize' [-Wattributes]
   89 | inline void fast_read(string &s) {
      |                                ^
genetics.cpp:89:32: warning: bad option '-fstrict-overflow' to attribute 'optimize' [-Wattributes]
genetics.cpp:89:32: warning: bad option '-fcse-skip-blocks' to attribute 'optimize' [-Wattributes]
genetics.cpp:89:32: warning: bad option '-funsafe-loop-optimizations' to attribute 'optimize' [-Wattributes]
genetics.cpp:107:13: warning: bad option '-fwhole-program' to attribute 'optimize' [-Wattributes]
  107 | signed main()
      |             ^
genetics.cpp:107:13: warning: bad option '-fstrict-overflow' to attribute 'optimize' [-Wattributes]
genetics.cpp:107:13: warning: bad option '-fcse-skip-blocks' to attribute 'optimize' [-Wattributes]
genetics.cpp:107:13: warning: bad option '-funsafe-loop-optimizations' to attribute 'optimize' [-Wattributes]
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...