为什么最后一个Subtask有三个点过不了,求调代码极其简洁。
  • 板块P11397 界分数
  • 楼主lishunjie
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/12/16 20:22
  • 上次更新2024/12/16 20:43:31
查看原帖
为什么最后一个Subtask有三个点过不了,求调代码极其简洁。
1123721
lishunjie楼主2024/12/16 20:22
//杉月
#include<bits/stdc++.h>
#define N 1000005
//#define int  long long
typedef long long LL;
const int mod=998244353;
using namespace std;
LL n;
LL ans=1;
int main(){
	//freopen("edit2.in","r",stdin);
	//freopen("edit2.out","w",stdout);
	ios::sync_with_stdio(0);
	cin.tie();cout.tie();
	cin>>n;
	if(n==1) cout<<ans<<endl;
	for(int i=1;i<=64;i++){
		if(n>(1LL<<i)){
			ans+=(1LL<<(i-1)%mod)*(i+1)%mod;
			ans%=mod;
		}else{
			ans+=(n-(1LL<<(i-1)))%mod*(i+1)%mod;
			ans%=mod;
			break;
		}
	}
	cout<<ans<<endl;
	return 0; 
}
2024/12/16 20:22
加载中...