P9228 WA36分,求助
  • 板块灌水区
  • 楼主Lqz114514
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/5/10 21:20
  • 上次更新2023/10/23 16:08:36
查看原帖
P9228 WA36分,求助
519936
Lqz114514楼主2023/5/10 21:20

代码如下

#include <bits/stdc++.h>
using namespace std;
const int N=1e6+10;
int fire[N],ice[N];
bool cmp(int a,int b)
{
	return a>b;
}
int main()
 {
	int n,m,k,tot;
	long long ans;
	cin>>n>>m>>k;
	for(int i=0;i<n;i++)
	{
		cin>>fire[i];
		ans+=fire[i];//至少能打出基本伤害 
	}	
	for(int i=0;i<m;i++)
	{
		cin>>ice[i];
		ans+=ice[i];
	}
	sort(fire,fire+n,cmp);//将火元素伤害从大到小排序
	for(int i=0;i<min(n,m);i++)//遍历到任一元素伤害耗尽为止 
	{
		if(fire[i]>k)//增量为fire[i]或k,看谁更大 
		{
			ans+=fire[i];
			tot++;//统计利用规则二的次数 
		}
	}
	ans+=k*(min(n,m)-tot);//剩下能利用规则三的全部利用
	cout<<ans; 
}
2023/5/10 21:20
加载中...