bitset 求助!
查看原帖
bitset 求助!
807826
zjpwdyf楼主2024/3/11 18:59
#include <bits/stdc++.h>
using namespace std;
const int N = 5e4 + 5, V = 4e5;
int n, l, r, ans, a[N];
int main(){
	cin >> n >> l >> r;
	for(int i = 1; i <= n; i ++) cin >> a[i];
	sort(a + 1, a + n + 1);
	bitset <V + 10> flag(0), lst(0);
	for(int i = 2; i <= n; i ++){
		int gap = a[i] - a[i - 1];
		lst <<= gap;
		lst[gap] = 1;
		flag |= lst;
	}
	if(l > V){
		cout << r - l + 1;
		return 0;
	}
	if(r > V) ans += r - V, r = V;
	for(int i = l; i <= r; i ++){
		int True = 1;
		for(int j = 0; j <= V; j += i)
			if(flag[j]) True = 0;
		ans += True;
	}
	/*
	for(int i = 0; i < V; i ++) if(flag[i]) cout << i << ' ';
	cout << endl;
	*/
	cout << ans;
	return 0;
}

如上,WA on #1

2024/3/11 18:59
加载中...