我的数组为什么一定要这么大qAq,求大佬
查看原帖
我的数组为什么一定要这么大qAq,求大佬
1420718
nbq202412904430楼主2024/11/8 08:53
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
typedef struct
{
	long long p,a;
}peo;
int compare(const void*a,const void*b)
{
	peo*a1=(peo*)a;
	peo*b1=(peo*)b;
	if(a1->p<b1->p)return -1;
	if(a1->p>b1->p)return 1;
	return 0;
}
peo nn[9876543];
int main()
{
    
	int s=0;
	int n,m,e=0;
	scanf("%d%d",&n,&m);
	while(e<m)
	{
		scanf("%lld%lld",&nn[e].p,&nn[e].a);
		
		e++;
	}
	qsort(nn,n,sizeof(peo),compare);
	for(int i=0;;i++)
	{
		if(n-nn[i].a>0)
		{
			n-=nn[i].a;
			s+=nn[i].p*nn[i].a;
		}
		else
		{
			s+=nn[i].p*n;
			break;
		}
	}
	printf("%d",s);
	return 0;
} 

整个代码可以过,但peo nn[9876543]数组一定要开这么大,可实际的数据大小才5000,这是为什么,要怎么改

2024/11/8 08:53
加载中...