結果

問題 No.1385 Simple Geometry 2
ユーザー kotatsugame
提出日時 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()
      | ^~~~

ソースコード

diff #
プレゼンテーションモードにする

#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;
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0