結果
| 問題 |
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;
}