詳細的證明:點擊打開鏈接
我的想法:
要想保證題目所說 構造最小行的和,只能是這種情況
..... m-3 m-2 m-1 m | m m-1 m-2 m-3 . ....
所以Ans 也就是取前N項就可。
又因爲 It is guaranteed that N is always odd。 顯然構造沒問題。
#include <cstdio>
#include <cstring>
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
int n,m;
while(~scanf("%d%d",&m,&n))
{
int sum=0,k=0;
for(int i=1;i<=n;i++)
{
if(i%2==0)
{
sum+=(m-k);
k++;
}
else sum+=(m-k);
}
printf("%d\n",sum);
}
return 0;
}