QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#732877#8027. Sky GardenyldAC ✓18ms4040kbC++201.8kb2024-11-10 16:15:202024-11-10 16:15:21

Judging History

This is the latest submission verdict.

  • [2024-11-10 16:15:21]
  • Judged
  • Verdict: AC
  • Time: 18ms
  • Memory: 4040kb
  • [2024-11-10 16:15:20]
  • Submitted

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