玄关求调
查看原帖
玄关求调
1197519
ldlipeiguo楼主2024/4/23 21:17

有数组越界,记得关下o2。没办法,码力不够

#include<bits/stdc++.h>
using namespace std;
int a[11000],b[11000],q=1,h,num,maxx;
int n,ans;
int main(){
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>a[i];
		//b[i] = a[i];
	}
	sort(a,a+n);
	//sort(b,b+n);
	//for(int i=0;i<n;i++){
		//cout<<b[i]<<" ";
	//}
	maxx=a[n-1];
	for(int i=0,t=0;i<n;i++,t++){
		for(int j=q;j<n;j++){
			int p;
			num = a[i]+a[j];
			b[p] = num;
			p++;
		}
		q++;
	}
	for(int i=0;i<n;i++){
		h+=i;
	}
	sort(b,b+h);
	int u =  unique(b,b+h) - b;
	for(int i=0;i<u;i++){
		if(b[i]<=maxx) ans++;
	}
	cout<<ans;
	return 0;
} 

30分,有去重,有排序

2024/4/23 21:17
加载中...