結果
問題 | No.96 圏外です。 |
ユーザー | 👑 hos.lyric |
提出日時 | 2015-02-24 02:57:52 |
言語 | C++11 (gcc 11.4.0) |
結果 |
CE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 908 bytes |
コンパイル時間 | 148 ms |
コンパイル使用メモリ | 28,996 KB |
最終ジャッジ日時 | 2024-11-14 19:00:13 |
合計ジャッジ時間 | 629 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
コンパイルメッセージ
main.cpp:1:2: warning: #import is a deprecated GCC extension [-Wdeprecated] 1 | #import<algorithm> | ^~~~~~ main.cpp: In function ‘int main()’: main.cpp:8:9: error: ‘scanf’ was not declared in this scope 8 | scanf("%d",&N); | ^~~~~ main.cpp:27:29: error: ‘hypot’ was not declared in this scope 27 | t=2+hypot(X[A[k]]-X[A[l]],Y[A[k]]-Y[A[l]]); | ^~~~~ main.cpp:31:9: error: ‘printf’ was not declared in this scope 31 | printf("%.9f\n",z); | ^~~~~~ main.cpp:2:1: note: ‘printf’ is defined in header ‘<cstdio>’; did you forget to ‘#include <cstdio>’? 1 | #import<algorithm> +++ |+#include <cstdio> 2 | enum{M=1<<17,B=20000};
ソースコード
#import<algorithm> enum{M=1<<17,B=20000}; int N,X[M],Y[M],I[M],P[M],A[M],i,j,k,l,m,n; double z=1,t; int R(int u){return P[u]==u?u:P[u]=R(P[u]);} int D(int a,int b,int c){return(X[b]-X[a])*(Y[c]-Y[a])<=(Y[b]-Y[a])*(X[c]-X[a]);} int main(){ scanf("%d",&N); for(i=N;i--;I[i]=P[i]=i,A[i]=X[i]*B+Y[i])scanf("%d%d",X+i,Y+i); std::sort(I,I+N,[](int a,int b){return A[a]<A[b];}); for(i=11;i--;)for(j=i?-11:0;++j<11;)if(i*i+j*j<101){ for(k=l=0;l<N;m<0?++l:++k){ (m=A[I[l]]-A[I[k]]-i*B-j)||(P[R(I[l])]=R(I[k])); } } std::sort(I,I+N,[](int a,int b){m=R(a)-R(b);return m?m<0:A[a]<A[b];}); for(i=j=0;i<N;i=j){ n=0; for(;j<N&&R(I[i])==R(I[j]);A[++n]=I[j++]){ for(;n>1&&D(A[n-1],A[n],I[j]);--n); } m=n; for(k=j;k-->i;A[++n]=I[k]){ for(;n>m&&D(A[n-1],A[n],I[k]);--n); } for(k=n;k;--k)for(l=n;l;--l){ t=2+hypot(X[A[k]]-X[A[l]],Y[A[k]]-Y[A[l]]); z=z>t?z:t; } } printf("%.9f\n",z); }