```cpp
for(int x=1;x<=n;x++){
for(int i=1;i<=n;i++){
q.push(hs(i,x));
}
}
for(int i=1;i<=n;i++){
cout<<q.top()<<" ";
q.pop();
}
```
应为
```cpp
for(int x=1;x<=m;x++){
for(int i=1;i<=n;i++){
q.push(hs(i,x));
}
}
for(int i=1;i<=m;i++){
cout<<q.top()<<" ";
q.pop();
}
```
而且这样做肯定会爆队列
by zrl123456 @ 2024-02-12 18:17:22
```cpp
#include<bits/stdc++.h>
#define int long long
#define reg register
#define inl inline
#define INF 2147483647
#define MOD 504
#define N 10005
#define f(i,j) a[i]*j*j+b[i]*j+c[i]
using namespace std;
vector<int>g;
int n,m,a[N],b[N],c[N];
inl int read(){
reg int f=1,x=0;
reg char ch=getchar();
while(ch<'0'||ch>'9'){
if(ch=='-') f=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9'){
x=(x<<1)+(x<<3)+(ch^48);
ch=getchar();
}
return f*x;
}
inl void write(int x){
if(x<0){
x=-x;
putchar('-');
}
if(x>=10) write(x/10);
putchar(x%10^48);
}
signed main(){
g.push_back(0);
n=read();
m=read();
for(reg int i=1;i<=n;++i){
a[i]=read();
b[i]=read();
c[i]=read();
}
for(reg int i=1;i<=m;++i)
for(reg int j=1;j<=n;++j)
if(g.size()<=m||g[m]>f(j,i)) g.insert(lower_bound(g.begin(),g.end(),f(j,i)),f(j,i));
for(reg int i=1;i<=m;++i){
write(g[i]);
putchar(' ');
}
return 0;
}
```
by zrl123456 @ 2024-02-12 18:18:16
谢dalao
by ethan0919 @ 2024-02-19 15:20:16