結果
問題 | No.1385 Simple Geometry 2 |
ユーザー |
|
提出日時 | 2021-02-07 23:04:03 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 303 ms / 500 ms |
コード長 | 1,010 bytes |
コンパイル時間 | 635 ms |
コンパイル使用メモリ | 74,248 KB |
実行使用メモリ | 11,776 KB |
最終ジャッジ日時 | 2024-07-04 17:41:11 |
合計ジャッジ時間 | 18,565 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 65 |
コンパイルメッセージ
main.cpp:8:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type] 8 | main() | ^~~~
ソースコード
#include<iostream> #include<iomanip> #include<cmath> using namespace std; int N; long L,T[5<<17]; double p[5<<17]; main() { cin>>N>>L; for(int i=0;i<N;i++) { cin>>T[i]; p[i]=2*M_PI*T[i]/L; } double ans=0; /* for(int i=1;i+1<N;i++) { for(int j=0;j<i;j++) { for(int k=i+1;k<N;k++) { double alpha=p[i]-p[j],beta=p[k]-p[i]; ans+=sin(alpha)+sin(beta)-sin(alpha+beta); //ans+=sin(alpha)*sin(beta)*sin(alpha+beta); } } } for(int i=0;i<N;i++)for(int j=i+1;j<N;j++) { //ans+=(i+i-j-j+N)*sin(p[j])*cos(p[i]); ans+=(i+i+N)*sin(p[j])*cos(p[i]); ans-=(j+j)*sin(p[j])*cos(p[i]); ans-=(i+i+N)*cos(p[j])*sin(p[i]); ans+=(j+j)*cos(p[j])*sin(p[i]); }*/ double s1=0,s2=0,s3=0,s4=0; for(int j=0;j<N;j++) { ans+=s1*sin(p[j]); ans-=(j+j)*s2*sin(p[j]); ans-=s3*cos(p[j]); ans+=(j+j)*s4*cos(p[j]); s1+=(j+j+N)*cos(p[j]); s2+=cos(p[j]); s3+=(j+j+N)*sin(p[j]); s4+=sin(p[j]); } ans*=3; ans/=N; ans/=N-1; ans/=N-2; cout<<fixed<<setprecision(16)<<ans<<endl; }