結果

問題 No.2352 Sharpened Knife in Fall
ユーザー HIcoder
提出日時 2023-07-05 14:42:33
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 226 ms / 3,000 ms
コード長 1,710 bytes
コンパイル時間 984 ms
コンパイル使用メモリ 101,788 KB
最終ジャッジ日時 2025-02-15 06:14:00
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 19
権限があれば一括ダウンロードができます

ソースコード

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

#include<iostream>
#include<set>
#include<algorithm>
#include<vector>
#include<string>
#include<set>
#include<map>
#include<numeric>
#include<queue>
#include<cmath>
using namespace std;
typedef long long ll;
const ll INF=1LL<<60;
typedef pair<ll,ll> P;
typedef pair<int,P> PP;
const ll MOD=998244353;
const double PI=acos(-1);
double area(double r,double y){
double theta=acos(y/r);
return r*r*theta - y*sqrt(r*r-y*y);
}
int main(){
int R,K;
cin>>R>>K;
int halfK=K/2;
vector<double> ans;
double upperb=R;
for(int k=1;k<=halfK;k++){
//double ub=upperb;
double ub=R;
double lb=0;
double Sk=1.0*PI*R*R*k/(K+1);
for(int x=0;x<100;x++){
double mid=(ub+lb)/2;
//cout<<"k="<<k<<endl;
//cout<<"ub="<<ub<<endl;
//cout<<"lb="<<lb<<endl;
if(area(R,mid)<=Sk){
ub=mid;
}else{
lb=mid;
}
}
//cout<<"ub="<<ub<<endl;
ans.push_back(ub);
//upperb=ub;
}
/*
sort(ans.begin(),ans.end());//
reverse(ans.begin(),ans.end());//
*/
int n=ans.size();
if(K%2==1){
for(int k=0;k<n;k++){
printf("%.13f\n",-ans[k]);
}
//printf("%.13f\n",0.0);
cout<<0<<endl;
for(int k=n-1;k>=0;k--){
printf("%.13f\n",ans[k]);
}
}else{
for(int k=0;k<n;k++){
printf("%.13f\n",-ans[k]);
}
for(int k=n-1;k>=0;k--){
printf("%.13f\n",ans[k]);
}
}
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0