社区讨论
只有75分,有没有人知道怎么改
P11231[CSP-S 2024] 决斗参与者 3已保存回复 10
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 10 条
- 当前快照
- 1 份
- 快照标识符
- @mkpch6vq
- 此快照首次捕获于
- 2026/01/22 19:04 4 周前
- 此快照最后确认于
- 2026/01/23 13:52 4 周前
CPP
#include<iostream>
using namespace std;
int main(){
int n=0,a[100000]={0},t=0,min=100000,max=0,j=0,c=0;
cin>>n;
for(int i=0;i<n;i++){
cin>>t;
a[t]++;
if(t>max)max=t;
if(t<min)min=t;
}
j=min+1;
for(int i=min;i<max,j<=max;){
while(a[j]==0&&j>i){
j++;
if(j>max)break;
}
if(a[i]>a[j]){
c+=a[j];
a[i]-=a[j];
j++;
// cout<<a[i]<<"-"<<a[j]<<" "<<i<<" "<<j<<endl;
}else{
c+=a[i];
a[i]=0;
// cout<<a[i]<<" "<<a[j]<<" "<<i<<" "<<j<<endl;
i++;
while(a[i]==0){
i++;
if(i>max)break;
}
j=i+1;
}
}
cout<<n-c;
return 0;
}
回复
共 10 条回复,欢迎继续交流。
正在加载回复...