小W摆石子
可以确定, 最后围成是 一个长方形 + 多出一列 的形状.
而且多出的那一列应该是和较短的边相邻.
贴代码.
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
#ifndef ONLINE_JUDGE
freopen("rectangle.in", "r", stdin);
freopen("rectangle.out", "w", stdout);
#endif
int n, m, k;
cin >> n >> m >> k;
if(n < m)
swap(n, m);
int ans = 0;
for(int i = 1; i <= m; i ++)
{
if(i * n < k)
continue;
int h = k / i;
int _ans = i * (i - 1) * h * (h - 1) / 4;
int tmp = k - i * h;
_ans += tmp * (tmp - 1) * h / 2;
ans = max(ans, _ans);
}
cout << ans;
}