結果
| 問題 | No.96 圏外です。 |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2015-02-24 02:57:52 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0 + boost 1.89.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);
}