社区讨论
哪位能帮我调一下这个题哇
P1762偶数参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mi6ze688
- 此快照首次捕获于
- 2025/11/20 13:18 4 个月前
- 此快照最后确认于
- 2025/11/20 13:18 4 个月前
对拍了几百组都没有问题
一直WA第一和第五个点
CPP#include<iostream>
#include<ctype.h>
#include<cstdio>
#include<algorithm>
using namespace std;
const int mod=1000003;
inline long long read(){
long long x=0,f=0;char ch=getchar();
while(!isdigit(ch))f|=ch=='-',ch=getchar();
while(isdigit(ch))x=x*10+(ch^48),ch=getchar();
return f?-x:x;
}
long long p3[80]={1},ans;
int main(){
long long n=read(),How=1;
for(int i=1;i<=62;++i)p3[i]=p3[i-1]*3%mod;
for(int i=62;i>=0;--i)if(n&(1ll<<i))ans=(ans+How%mod*p3[i])%mod,How<<=1;
if(n&1)printf("%lld",((n+1)/2%mod*n%mod-ans%mod+mod)%mod);
else printf("%lld",(n/2%mod*(n+1)%mod-ans%mod+mod)%mod);
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...