为什么10分啊啊
查看原帖
为什么10分啊啊
830990
roumeideclown楼主2023/5/26 20:13
#include<bits/stdc++.h>
#pragma GCC optimeze(1)
#pragma GCC optimeze(2)
#pragma GCC optimeze(3,"Ofast","inline")
using namespace std;
int n,m,a[10001],b[10001],c[10001],heap[1919810],heap_size;
void put(int x) {
	int son,pa;
	heap[++heap_size]=x;
	son=heap_size;
	while(son>1) {
		pa=son>>1;
		if(heap[son]>=heap[pa]) {
			break;
		}
		else {
			swap(heap[son],heap[pa]);
		}
		son=pa;
	}
	return;
}
int get() {
	int pa,son,res;
	res=heap[1];
	heap[1]=heap[heap_size--];
	pa=1;
	while(pa*2<=heap_size) {
		son=pa*2;
		if(son<heap_size&&heap[son+1]<heap[son]) {
			son++;
		}
		if(heap[pa]<=heap[son]) {
			break;
		}
		swap(heap[pa],heap[son]);
		pa=son;
	}
	return res;
}
int main() {
	ios::sync_with_stdio(false);
	cin>>n>>m;
	for(int i=1;i<=n;i++) {
		cin>>a[i]>>b[i]>>c[i];
	}
	for(int i=1;i<=n;i++) {
		for(int j=1;j<=10;j++) {
			put(a[i]*j*j+b[i]*j+c[i]);
		}
	}
	for(int i=1;i<=m;i++) {
		cout<<get()<<" ";
	}
	return 0;
}

2023/5/26 20:13
加载中...