#420 Div.2 B. Okabe and Banana Trees——数学&暴力

来源:互联网 发布:天津seo平台 编辑:程序博客网 时间:2024/06/05 08:50

题目链接:
http://codeforces.com/contest/821/problem/B

题目大意:
给一个 特定形式的函数表达式 在内部做一个矩形(如图的矩形 分别平行xy轴)

矩形

求矩形的价值最大,价值指每个整数点的横纵坐标和即 x+y

分析:
本来想当然肯定是中间最大,后来发现看时间根本不用想, y 从 0 到 b 遍历一遍就好了
计算公式是:

(x+1)x2(y+1)+(y+1)y2(x+1)

#include <bits/stdc++.h>using namespace std;typedef long long ll;#define mem(s,t) memset(s,t,sizeof(s))#define D(v) cout<<#v<<" "<<v<<endl#define inf 0x3f3f3f3fconst ll N =55;ll a[N][N];//#define LOCALll Max(ll a,ll b){return a>b? a:b;}int main() {#ifdef LOCAL    freopen("in.txt","r",stdin);    freopen("out.txt","w",stdout);#endif    ll m,b;    scanf("%lld%lld",&m,&b);    ll y=0;    ll ans=-1;    for(y=0;y<=b;y++){        ll x=m*(b-y);        ll sum1=(1+x)*x/2*(y+1)+(1+y)*y/2*(x+1);        ans=Max(ans,sum1);    }    printf("%lld\n",ans);    return 0;}
原创粉丝点击