0分求助!ToT
查看原帖
0分求助!ToT
987924
feizhu_QWQ楼主2023/11/7 20:21

不知是否有大师指导,在线等,很急!!

#include<bits/stdc++.h>
using namespace std;
struct node
{
	int xfs,xzs,m;
}s[1000005];
int main()
{
	int maxn=-1,ans=0,n,x,y,a,b,cntb=0,cnta=0;
	cin>>n>>x>>y>>a>>b;
	for(int i=1;i<=n;i++)
	{
		cin>>s[i].xfs>>s[i].xzs>>s[i].m;
		s[i].xfs*=x;
		s[i].xzs*=y;
	}
	for(int i=1;i<=n;i++)
	{
		if(s[i].m-s[i].xfs-s[i].xzs>0)
		{
			ans+=s[i].m-s[i].xfs-s[i].xzs;
			if(s[i].m-(s[i].xfs+s[i].xzs)*2>0)
			{
				if((s[i].m-s[i].xfs+s[i].xzs)%2!=0)
				{
					ans+=(s[i].m-s[i].xfs+s[i].xzs)/2+1;
				}
				else
				{
					ans+=(s[i].m-s[i].xfs-s[i].xzs)/2;
				}
			}
			cnta++;
			cntb=0;
			if(cnta>=a)
			{
				ans*=2;
			}
		}
		else
		{
			cnta=0;
			cntb++;
			if(cntb>=b)
			{
				ans/=2;
			}
		}
		cout<<ans<<endl;
		maxn=max(maxn,ans);
	}
	cout<<maxn<<" "<<ans;
	return 0;
}

求求了

2023/11/7 20:21
加载中...