欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

HDU 4572 Bottles Arrangement

程序员文章站 2022-03-30 08:23:52
...

具体的证明:点击打开链接

我的想法:

要想保证题目所说 构造最小行的和,仅仅能是这样的情况

.....      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;
}