有没有什么优化方法,多道题目这样解数据大了就超时,大佬们帮帮忙啊谢谢
查看原帖
有没有什么优化方法,多道题目这样解数据大了就超时,大佬们帮帮忙啊谢谢
420441
红染月暮楼主2020/12/10 21:40
#include<stdio.h>
int n;
double v[100010],t[100010],d[100010];
void isort(double *x,double *y)
{
	double temp;
	temp=*x;
	*x=*y;
	*y=temp;
}
int main(void)
{
	long long sum=0;
	scanf("%d",&n);
	for(int i=0;i<n;i++)
	{
		scanf("%lf %lf",&t[i],&d[i]);
		v[i]=d[i]/t[i];
	}
	for(int i=0;i<n;i++)
		for(int j=0;j<n-i-1;j++)
		{
			if(v[j]<v[j+1])
			{
				isort(&v[j],&v[j+1]);
				isort(&t[j],&t[j+1]);
				isort(&d[j],&d[j+1]);
			}
		}
	for(int i=0;i<n-1;i++)
	{
		for(int j=i+1;j<n;j++)
		{
			sum+=t[i]*d[j]*2;
		}
	}
	printf("%lld",sum);
	
	return 0;
}
2020/12/10 21:40
加载中...