CE???
查看原帖
CE???
554803
After_light楼主2023/7/18 08:28

priority_queue 这里咋么一直CE啊

#include<bits/stdc++.h>
#define ll long long
#define sc(a) scanf("%lld",&a)
#define ps(b) printf("%lld ",b)
#define pn(b) printf("%lld\n",b)
#define F(i,a,b) for(ll i=a;i<=b;i++)
#define R(i,a,b) for(ll i=a;i>=b;i--)
using namespace std;
const ll N=1e3+7;
ll n,m,now,ans,ansa[N],ansb[N],c[N],w[N];
struct node{
	ll pos,k,val;
	bool operator<(const node& x)const{
		return val>x.val;
	}
};
priority_queue<node,vector<node>,greater<node> > q;
int main(){
	sc(n),sc(m);
	now=m;
	F(i,1,n){
		sc(c[i]);
	}
	F(i,1,n) sc(w[i]);
	F(i,1,n){
		now-=c[i]%100;
		ansa[i]=c[i]/100;
		q.push((node){i,100-(c[i]%100),(100-(c[i]%100))*w[i]});
		if(now<0){
			ansa[q.top().pos]++;
			ansb[i]=q.top().k;
			now+=100;
			ans+=q.top().val;
			q.pop();
		}
	}
	pn(ans);
	F(i,1,n){
		ps(ansa[i]),pn(ansb[i]);
	}
	return 0;
}
2023/7/18 08:28
加载中...