#include<bits/stdc++.h>
using namespace std;
const int N = 1e5 + 5;
int n, m, q, u, v, t, a[N], maxn, who, cnt;
queue<int>que[5];
bool cmp (int x, int y) {
return x > y;
}
void find (queue<int> &que, int pos) {
if (que.size() && que.front() > maxn) {
maxn = que.front();
who = pos;
}
}
int main () {
cin >> n >> m >> q >> u >> v >> t;
for (int i = 1; i <= n; i++) {
cin >> a[i];
}
sort(a + 1, a + n + 1, cmp);
for (int i = 1; i <= n; i++) {
que[1].push(a[i]);
}
while (m--) {
cnt++;
maxn = INT_MIN;
find(que[1], 1);
find(que[2], 2);
find(que[3], 3);
if (who == 1) {
que[1].pop();
}
else if (who == 2) {
que[2].pop();
}
else {
que[3].pop();
}
maxn += (cnt - 1) * q;
int x = maxn * u / v;
int y = maxn - x;
if (cnt % t == 0) {
cout << maxn << " ";
que[2].push(x - cnt * q);
que[3].push(y - cnt * q);
}
}
cout << "\n";
cnt = 0;
while (que[1].size() || que[2].size() || que[3].size()) {
maxn = INT_MIN;
find(que[1], 1);
find(que[2], 2);
find(que[3], 3);
if (who == 1) {
que[1].pop();
}
else if (who == 2) {
que[2].pop();
}
else {
que[3].pop();
}
if (++cnt % t == 0) {
cout << maxn + m * q << " ";
}
}
return 0;
}
代码如上