莫名其妙RE了怎么办
查看原帖
莫名其妙RE了怎么办
697932
Gcend楼主2024/7/8 09:10
#include<bits/stdc++.h>
#define int long long
using namespace std;
int cnt;
struct node{
	int num,sum,in;
}a[1010];
bool cmp(node c,node b){
	if(c.sum==b.sum) return c.in<b.in;
	return c.sum>b.sum;
} 
main(){
	int n,m;
	cin >>n>>m;
	for(int i=0;i<n;i++){
		int x,flag=1;
		cin >>x;
		for(int j=0;j<cnt;j++){
			if(a[j].num==x){
				a[j].sum++,flag=0;
				break;
			} 
		}
		if(flag) a[cnt].num=x,a[cnt].sum=1,a[cnt++].in=i+1;
	} 
	sort(a,a+m,cmp);
	for(int i=0;i<n;i++) for(int j=0;j<a[i].sum;j++) cout <<a[i].num<<" ";
	return 0;
}

数组开大了确实会分高一点,但还是AC不了
看来看去也找不到是哪里越界了

2024/7/8 09:10
加载中...