警示后人
查看原帖
警示后人
1312199
zhuyucheng6046楼主2025/1/12 15:47

十年OI一场空,不开long long 见祖宗。

暴力枚举行不通,超时超到姥姥家。

一道规律很简单,注意特判不会错。

如果你没开long long

#include<bits/stdc++.h>
using namespace std;
long long j;
int main()
{
	int i;
	int a,b,n;
	cin>>a>>b>>n;
	if(a/b<=n)
	cout<<a/b*b;
	else {
		cout<<(a/b-(a/b-n))*b;
	}
	return 0;
}

会:

如果你暴力枚举:

#include<bits/stdc++.h>
using namespace std;
long long j;
int main()
{
	int i;
	int a,b,n;
	cin>>a>>b>>n;
	for(i=1; j<a; i++) {
		j+=b;
	}
	if(i==n)
		cout<<j;
	else cout<<j-b;
	return 0;
}

会:

如果你不特判:

#include<bits/stdc++.h>
using namespace std;
long long j;
int main()
{
	int i;
	long long a,b,n;
	cin>>a>>b>>n;
	/*for(i=1; j<a; i++) {
		j+=b;
	}
	if(i==n)
		cout<<j;
	else cout<<j-b;*/
	cout<<a/b*b;
	return 0;
}

会:

只有

#include<bits/stdc++.h>
using namespace std;
long long j;
int main()
{
	int i;
	long long a,b,n;
	cin>>a>>b>>n;
	if(a/b<=n)
	cout<<a/b*b;
	else {
		cout<<(a/b-(a/b-n))*b;
	}
	return 0;
}

2025/1/12 15:47
加载中...