关于 vector 的 sort
  • 板块学术版
  • 楼主_Weslie_
  • 当前回复7
  • 已保存回复7
  • 发布时间2024/8/25 09:41
  • 上次更新2024/8/25 12:16:35
查看原帖
关于 vector 的 sort
511959
_Weslie_楼主2024/8/25 09:41

rt,我在 ABC368B 中使用了 vector,因为是降序,所以我写了自定义 cmp,但是它 RE 了一发。

后来测试发现当 nn 开到 100100 时它就 RE 了,是 vector 和 cmp 不兼容吗?

Code:

#include<bits/stdc++.h>
using namespace std;
int n,a[105],ans;
vector<int>q,p;
bool cmp(int _,int __){
	if(_>__)return _;
	return __;
}
int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		scanf("%d",&a[i]);
		q.push_back(a[i]); 
	}
	while(1){
//		printf("%d\n",q.size());
		sort(q.begin(),q.end(),cmp);
		ans++;
		q[0]--;
		q[1]--;
		p.clear();
		for(int i=0;i<q.size();i++){
			if(q[i]!=0){
				p.push_back(q[i]);
			}
		}
		if(p.size()<=1){
			printf("%d\n",ans);
			return 0;
		}
		q.clear();
		for(int i=0;i<p.size();i++)q.push_back(p[i]);
	}
	return 0;
}
/*
100
100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
*/
2024/8/25 09:41
加载中...