60pts求调
查看原帖
60pts求调
1040921
zhuxiangrui_2010楼主2024/10/18 18:34
#include<bits/stdc++.h>
using namespace std;
int n,a[1005],t[1005];
float s=0;
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		int x;
		cin>>x;
		a[x]++;
	}
	int p=-1e9;
	for(int i=1;i<=1000;i++){
		if(a[i]==1){
			a[i]=p;
			if(p>=1){
				t[p]++;
			}
			if(p>=1&&p-a[p]>=i-p){
				if(a[p]>=1){
					t[a[p]]--;
				}
				a[p]=i;
				t[i]++;
			}
			p=i;
		}
	}
	for(int i=1;i<=1000;i++){
		/*if(a[i]!=0){
			cout<<i<<" "<<a[i]<<" "<<t[i]<<endl;
		}*/
		if(a[i]!=0&&t[i]==0){
			s+=1;
		}
		if(a[i]!=0&&t[i]==1&&a[a[i]]==i&&t[a[i]]==1){
			s+=1.0/2;
		}
	}
	cout<<s;
	return 0;
}
2024/10/18 18:34
加载中...