#420(div2)B. Okabe and Banana Trees

题意:给出一个函数,问矩阵里所有的点的横纵坐标之和,矩阵的右上端点得在函数上

思路:推公式,(记得long long ),以纵坐标暴力要好一点,耗时少,并且不用判断x是否为整数。

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 typedef long long ll;
 4 
 5 int main(){
 6      ll m,b;
 7      scanf("%I64d%I64d",&m,&b);
 8      ll Max=(1+b)*b/2;
 9      Max=max(Max,(1+m*b)*m*b/2);
10      for(ll x=1;x<b;x++){
11         
12              ll y=b*m-x*m;
13         ll sum=(1+y)*y/2*(x+1)+(x+1)*x/2*(y+1);
14       //  cout<<x<<" "<<y<<" "<<sum<<endl;
15         Max=max(Max,sum);
16         
17 
18      }
19      cout<<Max<<endl;
20 }

 

posted on 2017-06-26 09:40  hhhhx  阅读(246)  评论(0)    收藏  举报

导航