제출 #783137

#제출 시각아이디문제언어결과실행 시간메모리
783137Sir_Ahmed_ImranDNA 돌연변이 (IOI21_dna)C++17
컴파일 에러
0 ms0 KiB
#include "dna.h" #include <bits/stdc++.h> #define MAXN 100001 int at[MAXN]; int ac[MAXN]; int ta[MAXN]; int tc[MAXN]; int ca[MAXN]; int ct[MAXN]; void init(std::string a, std::string b) { at[0]=0; ac[0]=0; ta[0]=0; tc[0]=0; ca[0]=0; ct[0]=0; int n=a.size(); for(int i=0;i<n;i++){ at[i+1]=at[i]; ac[i+1]=ac[i]; ta[i+1]=ta[i]; tc[i+1]=tc[i]; ca[i+1]=ca[i]; ct[i+1]=ct[i]; at[i+1]+=(a[i]=='A' && b[i]=='T'); ac[i+1]+=(a[i]=='A' && b[i]=='C'); ta[i+1]+=(a[i]=='T' && b[i]=='A'); tc[i+1]+=(a[i]=='T' && b[i]=='C'); ca[i+1]+=(a[i]=='C' && b[i]=='A'); ct[i+1]+=(a[i]=='C' && b[i]=='T'); } } int get_distance(int x, int y) { int a,b,n,m,o,p,q,r; o=0; a=at[x+1]-at[y]; n=ac[x+1]-ac[y]; b=ta[x+1]-ta[y]; p=tc[x+1]-tc[y]; m=ca[x+1]-ca[y]; q=ct[x+1]-ct[y]; r=min(a,b); a-=r; b-=r; o+=r; r=min(n,m); n-=r; m-=r; o+=r; r=min(p,q); p-=r; q-=r; o+=r; if(max(a,b)==max(n,m) && max(n,m)==max(p,q)) return o+max(a,b); return -1; }

컴파일 시 표준 에러 (stderr) 메시지

dna.cpp: In function 'int get_distance(int, int)':
dna.cpp:42:4: error: 'min' was not declared in this scope; did you mean 'std::min'?
   42 |  r=min(a,b);
      |    ^~~
      |    std::min
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from dna.cpp:2:
/usr/include/c++/10/bits/stl_algo.h:3474:5: note: 'std::min' declared here
 3474 |     min(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
dna.cpp:54:5: error: 'max' was not declared in this scope; did you mean 'std::max'?
   54 |  if(max(a,b)==max(n,m) && max(n,m)==max(p,q))
      |     ^~~
      |     std::max
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from dna.cpp:2:
/usr/include/c++/10/bits/stl_algo.h:3486:5: note: 'std::max' declared here
 3486 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~