Submission #1218705

#TimeUsernameProblemLanguageResultExecution timeMemory
1218705MalixGenetics (BOI18_genetics)C++20
46 / 100
2094 ms25672 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef vector<int> vi; typedef vector<vi> vii; typedef pair<int,int> pi; typedef vector<pi> pii; typedef tuple<int,int,int> ti; typedef vector<ll> li; typedef vector<li> lii; #define REP(i,a,b) for(int i=a;i<b;i++) #define F first #define S second #define PB push_back #define LSOne(s) ((s)&(-s)) #define all(x) x.begin(),x.end() ll INF=1000000000000000010; int inf=1e9+10; ll M=1e9+7; int n,m,k; vector<pair<string,int>> a; vector<pair<bitset<4100>,int>> b,c,d; int main() { ios::sync_with_stdio(0); cin.tie(0); cin>>n>>m>>k; a.resize(n);b.resize(n);c.resize(n);d.resize(n); REP(i,0,n)cin>>a[i].F; REP(i,0,n)a[i].S=i; sort(all(a)); REP(i,0,n){ string s=a[i].F; REP(j,0,m)if(s[j]=='A')b[i].F[j]=1; REP(j,0,m)if(s[j]=='C')c[i].F[j]=1; REP(j,0,m)if(s[j]=='T')d[i].F[j]=1; b[i].S=a[i].S;c[i].S=d[i].S;b[i].S=a[i].S; } REP(i,0,n){ bool flag=1; REP(j,0,n)if(i!=j){ bitset<4100> X; X=(b[i].F^b[j].F)|(c[i].F^c[j].F)|(d[i].F^d[j].F); int cnt=X.count(); if(cnt!=k){ flag=0; break; } } if(flag){ cout<<b[i].S+1; return 0; } } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...