求助,WA了八个点,A了两个,必关
查看原帖
求助,WA了八个点,A了两个,必关
668156
封禁用户楼主2024/8/24 15:06
#include<bits/stdc++.h>
using namespace std;
int n,m;
const int N = 1e5+10, M = 2e6 + 10;
typedef long long ll;
ll a[2][M];
int main(){ 
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	cin >> n >> m;	
	for (int i = 1; i <= n; i ++){
		int x;
		cin>>x;
		if (x<0)  a[0][-x]=1;
		if (x>=0)  a[1][x]=1;
	}
	for (int i = 1; i <= m; i ++) {
		a[0][i]+=a[0][i-1];
		a[1][i]+=a[1][i-1];
	}
	ll res_left = 0;
	for (int i = 1; i <= m; i ++){
		ll d = a[0][i];
		if (m-2*i>0) d += a[1][m - 2*i];
		res_left = max(res_left,d);
	}
	ll res_right = 0;
	for (int i = 1; i <= m; i ++){
		ll d = a[1][i];
		if (m-2*i>0) d += a[0][m - 2*i];
		res_right = max(res_right,d);
	}
	cout << max(res_left,res_right)<<endl;
	return 0;
}

代码在这里

2024/8/24 15:06
加载中...