#include<stdio.h>
long long fun(long long x)
{
if(x%2==0)
return x/2*(1+x)-x;
else
return (1+x)/2*x-x;
}
int main()
{
long long n,m;
scanf("%I64d%I64d",&n,&m);
long long x=n/m,w;
w=n-x*m;
long long mi=fun(x)*(m-w)+fun(x+1)*w;
long long ma=fun(n-m+1);
printf("%I64d %I64d\n",mi,ma);
return 0;
}
codeforces 478B Random Teams
最新推荐文章于 2022-03-07 22:32:40 发布
探讨了在给定参赛者数量和团队数量的情况下,如何通过编程计算最小和最大可能形成的友谊对数。该问题源自一种竞赛场景,参与者被分成若干队伍,并在赛后形成友谊对。
598

被折叠的 条评论
为什么被折叠?



