题目翻译
四个整数,$n,B,x,y$,每次可以选择 $a_i=a_{i-1}+x$ 或者 $a_i=a_{i-1}-y$,必须保证 $a_i\leq B$,问 $a$ 数组的元素和。
题目思路
这道题可以贪心。
每次尽可能加上 $x$,如果超过就减掉 $y$。
这肯定是对的贪心策略;
因为,这样肯定保证多加上少减去。
每次都是加 $x$,减 $y$,所以多加少减肯定正确。
AC 代码
void solve()
{
int n,b,x,y;
cin>>n>>b>>x>>y;
ll ans=0,last=0;
for(int i=1;i<=n;i++)
{
last=(last+x>b?last-y:last+x);
ans+=last;
}
cout<<ans<<endl;
}