此做法复杂度有问题吗?
查看原帖
此做法复杂度有问题吗?
1020835
__galaxy_1202__楼主2024/8/25 15:11

rt,别的oj上过了,这里85...

#include <iostream>
#include <queue>
#include <cmath>
using namespace std;
typedef long long ll;
ll n, m, q, u, v, t, a, now;
long double p;
priority_queue <ll> qp;
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    cin >> n >> m >> q >> u >> v >> t;
    p = u * 1.0 / v;
    for (ll i = 1; i <= n; i++)
    {
        cin >> a;
        qp.push(a);
    }
    for (ll i = 1; i <= m; i++)
    {
        ll num = qp.top();
        qp.pop();
        num += now;
        now += q;
        ll num1 = floor(p * 1.0 * num);
        ll num2 = num - num1;
        num1 -= now;
        num2 -= now;
        qp.push(num1);
        qp.push(num2);
        if (i % t == 0) cout << num << ' ';
    }
    cout << '\n';
    for (ll i = 1; i <= n + m; i++)
    {
        if (i % t == 0) cout << qp.top() + now << ' ';
        qp.pop();
    }
    return 0;
}
2024/8/25 15:11
加载中...