题目
一个最大的数的出现,除了在两边和一行全是最大的数外,至少需要消耗两个第二大的数,然而剩余的最大的数不能多余最第二大的,否则剩下的没办发再排列,所以,最小的最大一行应该是,两个最大值在中间,两边依次排列第二小的,依次排满整行,可以用公式直接计算出来答案。
#include<iostream>
using namespace std;
int main()
{
int m,n;
while(cin>>m>>n)
{
n=2*(m*(n/2)-(n/2)*(n/2-1)/2)+m-n/2;
cout<<n<<endl;
}
}