總結
題意:要求構造一個二進制字符串,求最大的連續字符串包含字符1的方案數
正難反易,求最小的連續的字符串只包含字符0的數量,ans減去它即可
m個1可以構造m+1個空隙
用n-m個0去填就完事
signed main()
{
IOS;
//file();
int t;
cin>>t;
while(t--)
{
int n,m;
cin>>n>>m;
int ans=n*(n+1)/2;
n=n-m;
m++;
int a=n/m,b=n%m;
ans-=a*(a+1)/2*(m-b);
if(b%m)
a++;
ans-=a*(a+1)/2*b;
cout<<ans<<endl;
}
return 0;
}