QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#732877 | #8027. Sky Garden | yld | AC ✓ | 18ms | 4040kb | C++20 | 1.8kb | 2024-11-10 16:15:20 | 2024-11-10 16:15:21 |
Judging History
answer
#include<bits/stdc++.h>
#define int long long
#define double long double
#define endl '\n'
using namespace std;
const double pi=acos(-1);
void solve()
{
int n,m;
cin>>n>>m;
vector<double> sum(n+1),tot(n+1);
auto check=[&](int x,int now,int pos)->double
{
if(x>now) return 1e18;
int tmp;
if(pos>m) tmp=2*m-pos+1;
else tmp=pos-1;
double len=(now-x)*2+tmp*(pi*x)/m;
return len;
};
for(int i=1;i<=n;i++)
{
vector<double> tmp;
for(int j=2;j<=2*m;j++)
{
int l=0,r=i+1;
while (l < r) {
int mid=(l+r)/2;
if (check(mid,i,j) <= check(mid + 1,i,j)) r = mid;
else l = mid + 1;
}
tmp.push_back(check(l,i,j));
tot[i]+=check(l,i,j);
// cout<<i<<' '<<j<<endl;
// cout<<check(l,i,j)<<endl;
}
// for(int j=0;j<tmp.size();j++) cout<<tmp[j]<<' ';
// cout<<endl;
for(int j=tmp.size()-2;j>=0;j--)
tmp[j]+=tmp[j+1];
// for(int j=0;j<tmp.size();j++) cout<<tmp[j]<<' ';
// cout<<endl;
for(int j=0;j<tmp.size();j++) sum[i]+=tmp[j];
}
// for(int i=1;i<=n;i++) cout<<sum[i]<<' ';
// cout<<endl;
// for(int i=1;i<=n;i++) cout<<tot[i]<<' ';
// cout<<endl;
double ans=0;
for(int i=1;i<=n;i++)
{
for(int j=1;j<i;j++)
{
// cout<<i<<' '<<j<<endl;
ans+=((i-j)*2*m+tot[j])*2*m;
}
// cout<<ans<<endl;
ans+=sum[i];
}
if(m!=1)
{
for(int i=1;i<=n;i++)
ans+=i*2*m;
}
cout<<fixed<<setprecision(10)<<ans<<endl;
}
signed main()
{
cin.tie(0)->sync_with_stdio(0);
int t=1;
while(t--) solve();
return 0;
}
这程序好像有点Bug,我给组数据试试?
詳細信息
Test #1:
score: 100
Accepted
time: 0ms
memory: 3772kb
input:
1 2
output:
14.2831853072
result:
ok found '14.2831853', expected '14.2831853', error '0.0000000'
Test #2:
score: 0
Accepted
time: 0ms
memory: 3864kb
input:
1 1
output:
2.0000000000
result:
ok found '2.0000000', expected '2.0000000', error '0.0000000'
Test #3:
score: 0
Accepted
time: 0ms
memory: 3956kb
input:
500 1
output:
166916500.0000000000
result:
ok found '166916500.0000000', expected '166916500.0000000', error '0.0000000'
Test #4:
score: 0
Accepted
time: 1ms
memory: 3804kb
input:
500 2
output:
763585309.5613224766
result:
ok found '763585309.5613225', expected '763585309.5613225', error '0.0000000'
Test #5:
score: 0
Accepted
time: 18ms
memory: 3844kb
input:
500 499
output:
49125277129819.3364753723
result:
ok found '49125277129819.3359375', expected '49125277129819.2734375', error '0.0000000'
Test #6:
score: 0
Accepted
time: 18ms
memory: 3820kb
input:
500 500
output:
49322369986259.8368911743
result:
ok found '49322369986259.8359375', expected '49322369986259.6953125', error '0.0000000'
Test #7:
score: 0
Accepted
time: 3ms
memory: 3808kb
input:
252 139
output:
488838606007.1794645190
result:
ok found '488838606007.1794434', expected '488838606007.1795654', error '0.0000000'
Test #8:
score: 0
Accepted
time: 2ms
memory: 3904kb
input:
96 359
output:
181277190205.0371204615
result:
ok found '181277190205.0371094', expected '181277190205.0371094', error '0.0000000'
Test #9:
score: 0
Accepted
time: 8ms
memory: 3816kb
input:
237 487
output:
4992630041184.1960406303
result:
ok found '4992630041184.1962891', expected '4992630041184.1953125', error '0.0000000'
Test #10:
score: 0
Accepted
time: 2ms
memory: 3900kb
input:
81 411
output:
142953582310.2773612589
result:
ok found '142953582310.2773743', expected '142953582310.2773743', error '0.0000000'
Test #11:
score: 0
Accepted
time: 1ms
memory: 3720kb
input:
221 39
output:
25968641931.5297136251
result:
ok found '25968641931.5297127', expected '25968641931.5297089', error '0.0000000'
Test #12:
score: 0
Accepted
time: 5ms
memory: 3748kb
input:
270 259
output:
2087014641700.0213131905
result:
ok found '2087014641700.0212402', expected '2087014641700.0227051', error '0.0000000'
Test #13:
score: 0
Accepted
time: 12ms
memory: 3820kb
input:
422 387
output:
17770193032349.6242809296
result:
ok found '17770193032349.6250000', expected '17770193032349.6250000', error '0.0000000'
Test #14:
score: 0
Accepted
time: 0ms
memory: 3716kb
input:
63 15
output:
89852047.5085170573
result:
ok found '89852047.5085171', expected '89852047.5085171', error '0.0000000'
Test #15:
score: 0
Accepted
time: 13ms
memory: 3808kb
input:
407 439
output:
20515296102923.2058982849
result:
ok found '20515296102923.2070312', expected '20515296102923.2070312', error '0.0000000'
Test #16:
score: 0
Accepted
time: 0ms
memory: 4016kb
input:
18 18
output:
3123573.6956475553
result:
ok found '3123573.6956476', expected '3123573.6956476', error '0.0000000'
Test #17:
score: 0
Accepted
time: 2ms
memory: 3792kb
input:
171 146
output:
168786179167.0193157941
result:
ok found '168786179167.0193176', expected '168786179167.0194092', error '0.0000000'
Test #18:
score: 0
Accepted
time: 2ms
memory: 3736kb
input:
311 70
output:
232875509505.2748253644
result:
ok found '232875509505.2748108', expected '232875509505.2748413', error '0.0000000'
Test #19:
score: 0
Accepted
time: 5ms
memory: 3880kb
input:
155 494
output:
1439825967582.9987174273
result:
ok found '1439825967582.9987793', expected '1439825967582.9992676', error '0.0000000'
Test #20:
score: 0
Accepted
time: 6ms
memory: 3976kb
input:
204 418
output:
2347066265474.4882912636
result:
ok found '2347066265474.4882812', expected '2347066265474.4873047', error '0.0000000'
Test #21:
score: 0
Accepted
time: 2ms
memory: 3780kb
input:
344 46
output:
136054690372.2714991346
result:
ok found '136054690372.2714996', expected '136054690372.2714844', error '0.0000000'
Test #22:
score: 0
Accepted
time: 2ms
memory: 3864kb
input:
188 174
output:
318429902145.0420230925
result:
ok found '318429902145.0420532', expected '318429902145.0420532', error '0.0000000'
Test #23:
score: 0
Accepted
time: 4ms
memory: 3760kb
input:
137 394
output:
632896487876.0314419270
result:
ok found '632896487876.0314941', expected '632896487876.0313721', error '0.0000000'
Test #24:
score: 0
Accepted
time: 1ms
memory: 4040kb
input:
481 22
output:
85020954588.2031016722
result:
ok found '85020954588.2030945', expected '85020954588.2031097', error '0.0000000'
Test #25:
score: 0
Accepted
time: 1ms
memory: 3896kb
input:
30 446
output:
8705279441.3520847503
result:
ok found '8705279441.3520851', expected '8705279441.3520851', error '0.0000000'
Test #26:
score: 0
Accepted
time: 6ms
memory: 3884kb
input:
204 440
output:
2600626525627.9566872120
result:
ok found '2600626525627.9565430', expected '2600626525627.9575195', error '0.0000000'
Test #27:
score: 0
Accepted
time: 0ms
memory: 3832kb
input:
2 3
output:
175.4159265359
result:
ok found '175.4159265', expected '175.4159265', error '0.0000000'
Extra Test:
score: 0
Extra Test Passed