Submission #1228462

#TimeUsernameProblemLanguageResultExecution timeMemory
1228462minhpkGenetics (BOI18_genetics)C++20
100 / 100
323 ms52868 KiB
#include <bits/stdc++.h> #define int long long using namespace std; int a,b,c; string z[1000005]; int t[4101][5]; vector <int> snt; bool check[1000005]; int val[1000005]; void sangnguyento(){ for (int i=2;i<=1e6;i++){ check[i]=true; } for (int i=2;i<=1e6;i++){ if (check[i]){ for (int j=i*i;j<=1e6;j+=i){ check[j]=false; } } } for (int i=2;i<=1e6;i++){ if (check[i]){ snt.push_back(i); } } } signed main() { ios_base::sync_with_stdio(false); cin.tie(NULL); sangnguyento(); cin >> a >> b >> c; for (int i=1;i<=a;i++){ cin >> z[i]; val[i]=snt[i]; for (int j=1;j<=b;j++){ if (z[i][j-1]=='A'){ t[j][1]+=val[i]; }else if (z[i][j-1]=='T'){ t[j][2]+=val[i]; }else if (z[i][j-1]=='G'){ t[j][3]+=val[i]; }else{ t[j][4]+=val[i]; } } } int sumval=0; for (int i=1;i<=a;i++){ sumval+=val[i]*c; } for (int i=1;i<=a;i++){ int sum=0; int req=sumval-val[i]*c; for (int j=1;j<=b;j++){ if (z[i][j-1]=='A'){ sum+=t[j][2]+t[j][3]+t[j][4]; }else if (z[i][j-1]=='T'){ sum+=t[j][1]+t[j][3]+t[j][4]; }else if (z[i][j-1]=='G'){ sum+=t[j][2]+t[j][1]+t[j][4]; }else{ sum+=t[j][2]+t[j][3]+t[j][1]; } } if (sum==req){ cout << i << "\n"; return 0; } } 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...