不知是否有大师指导,在线等,很急!!
#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;
}
求求了