社区讨论

“+1”写法与“不+1”写法

B4079[CSP-X2019 山东] 金币参与者 3已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@mm96j5u5
此快照首次捕获于
2026/03/02 20:53
5 天前
此快照最后确认于
2026/03/02 20:59
5 天前
查看原帖
“+1”写法就是纯写错了 真正的“不+1”(二分)写法如下:
CPP
//#include <windows.h>//MessageBox(NULL,"下面","上面",1);
#include <iostream>
#include<cmath>
#include <string>
#include <cstring>
#include <algorithm>//sort(a+1,a+n+1);
using namespace std;

//max(n)=1e18-1
//max(r)=3741657384

long long n;
long long sum(long long day){
	long long a,b;
	a=(1+day/7)*(day/7)/2*7;
	b=(day%7)*(day/7+1);
	return a+b;
}

int main() {
	cin>>n;
	long long l=1,r=3741657384,mid;
	while(l<=r){
		mid=(l+r)/2;
		if(sum(mid)<n)l=mid+1;
		else if(sum(mid)>n)r=mid-1;
		else if(sum(mid==n))break;
	}
	cout<<l;
    return 0;
}
求关注

回复

2 条回复,欢迎继续交流。

正在加载回复...