0
点赞
收藏
分享

微信扫一扫

codeforces-598

半秋L 2022-08-24 阅读 117


题目链接:​​点击打开链接​​


A. Tricky Sum



time limit per test



memory limit per test



input



output


1 to n, but you should take all powers of two with minus in the sum.

n = 4 the sum is equal to  - 1 - 2 + 3 - 4 =  - 4, because 1, 2 and 4 are 20, 21 and 22

t values of n.


Input



t (1 ≤ t ≤ 100) — the number of values of n

t lines contains a single integer n (1 ≤ n ≤ 109).


Output



t integers n


Examples



input



2 4 1000000000



output



-4 499999998352516354


Note



The answer for the first sample is explained in the statement.



水题啊,刚开始还要用快速幂写,真ZZ

#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
#define LL long long
using namespace std;
LL n;
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
scanf("%I64d",&n);
LL a=n*(n+1)/2;
LL b=1;
while(b<=n)
{
b<<=1;
}
printf("%I64d\n",a-(b-1)-(b-1));
}
return 0;
}




举报

相关推荐

0 条评论