题解:P15083 [ICPC 2024 Chengdu R] Recover Statistics

· · 题解

题意:

现在给你 p50,p95,p99 的值,让你反推构造一个数列 a,要满足有 50\% 的数小于等于 p50,有 95\% 的数小于等于 p95,有 99\% 的数小于等于 p99。

那我们可以让 n=100,这样可以全部为整数。那么我们就可以让前50个为 a ,中间元素设为 b ,后面的为 c

Code:

#include<bits/stdc++.h>
using namespace std;
int main(){
    int a,b,c;
    cin>>a>>b>>c;
    cout<<100<<endl;
    for(int i=1;i<=50;i++)
        cout<<a<<" ";
    for(int i=1;i<=45;i++)
        cout<<b<<" ";
    for(int i=1;i<=4;i++)
        cout<<c<<" ";
    cout<<c+1;
    return 0;
}

结语:

感谢大家的观看和管理员的审核,祝大家在算法竞赛上越走越远!