社区讨论
求问做法正确性,感觉会被CCF卡掉
P11231[CSP-S 2024] 决斗参与者 7已保存回复 11
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 11 条
- 当前快照
- 1 份
- 快照标识符
- @m2r8p7gc
- 此快照首次捕获于
- 2024/10/27 14:59 去年
- 此快照最后确认于
- 2025/11/04 23:42 4 个月前
考场最后交的这么做的,洛谷A了但是快超时了。
记录:recond
很奇怪,最后想到 做法但没打完\kk。
民间数据不强???
CPP#include<bits/stdc++.h>
using namespace std;
#define int long long
#define rep(i,a,b) for(int i=(a);i<=(b);i++)
#define endl '\n'
const int N = 1e5 + 5;
int a[N],n;
bool pd[N];
int in(){
char a = getchar();
int k = 0, kk = 1;
while(a>'9'||a<'0'){
if(a=='-') kk=-1;
a = getchar();
}
while(a>='0'&&a<='9'){
k = k*10 + a - '0';
a = getchar();
}
return k*kk;
}
signed main(){
// freopen("duel3.in","r",stdin);
// freopen("out.txt","w",stdout);
n = in();
rep(i,1,n) a[i] = in();
sort(a+1,a+1+n);
int can = 0;
rep(i,1,n-1){
int l = i+1, r = n+1;
while(l<r){
int mid = l+r>>1;
if(a[mid]>a[i]) r = mid;
else l = mid + 1;
}
while(pd[l]&&l<=n) l++;
if(l<=n){
pd[l] = 1;
can++;
}
}
cout << n - can << endl;
return 0;
}
/*
5
1 2 3 1 2*/
回复
共 11 条回复,欢迎继续交流。
正在加载回复...