一直找不到哪里错了,求助
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <vector>
#include <queue>
using namespace std;
const int MAXN = 7100005;
long long n, m, q, u, v, t, delta;
long long tempArray[MAXN], ans1[MAXN], ans2[MAXN], cnt1, cnt2;
queue<long long> A, B, C;
int main() {
freopen("qiuyin.in", "r", stdin);
freopen("qiuyin.out", "w", stdout);
scanf("%lld%lld%lld%lld%lld%lld", &n, &m, &q, &u, &v, &t);
for(int i = 1; i <= n; ++i) {
scanf("%lld", &tempArray[i]);
}
sort(tempArray + 1, tempArray + 1 + n, greater<long long>());
for(int i = 1; i <= n; ++i) {
A.push(tempArray[i]);
}
for(int i = 1; i <= m; ++i) {
long long length;
if(A.front() > B.front()) {
if(A.front() > C.front()) {
long long length = A.front() + delta;
A.pop();
B.push(u * length / v - delta - q);
C.push(length - (u * length / v) - delta - q);
delta += q;
if(i % t == 0) {
ans1[++cnt1] = length;
}
} else {
long long length = C.front() + delta;
C.pop();
B.push(u * length / v - delta - q);
C.push(length - (u * length / v) - delta - q);
delta += q;
if(i % t == 0) {
ans1[++cnt1] = length;
}
}
} else {
if(B.front() > C.front()) {
long long length = B.front() + delta;
B.pop();
B.push(u * length / v - delta - q);
C.push(length - (u * length / v) - delta - q);
delta += q;
if(i % t == 0) {
ans1[++cnt1] = length;
}
} else {
long long length = C.front() + delta;
C.pop();
B.push(u * length / v - delta - q);
C.push(length - (u * length / v) - delta - q);
delta += q;
if(i % t == 0) {
ans1[++cnt1] = length;
}
}
}
}
while(!A.empty()) {
ans2[++cnt2] = A.front();
A.pop();
}
while(!B.empty()) {
ans2[++cnt2] = B.front();
B.pop();
}
while(!C.empty()) {
ans2[++cnt2] = C.front();
C.pop();
}
sort(ans2 + 1, ans2 + 1 + cnt2, greater<long long>());
for(int i = 1; i <= cnt1; ++i) {
printf("%lld ", ans1[i]);
}
puts("");
for(int i = 1; i <= cnt2; ++i) {
if(i % t == 0) {
printf("%lld ", ans2[i] + delta);
}
}
puts("");
return 0;
}