社区讨论

哪位能帮我调一下这个题哇

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 条回复,欢迎继续交流。

正在加载回复...