两个点T掉了怎么办?
查看原帖
两个点T掉了怎么办?
494471
g1306374356楼主2021/7/30 09:58

#6#7TLE了请问有什么补救措施没?

下面是经典 前缀和 做法

#include<bits/stdc++.h>
using namespace std;

#define N 10000010
long long n;
long long a[N],s[N];

int main()
{
	cin>>n;
	for(long long i=1;i<=n;i++)a[i]=i;
	for(long long i=1;i<=n;i++)s[i]=s[i-1]+a[i];
	
	for(long long l=1;l<=n;l++)
		for(long long r=l+1;r<=n;r++)
			if(s[r]-s[l-1]==n)
				cout<<l<<" "<<r<<endl;

	return 0;
}

2021/7/30 09:58
加载中...