第一次碰到这种玄学问题...
查看原帖
第一次碰到这种玄学问题...
91681
Error_666楼主2020/10/20 17:06

第十个点RE了。下载了数据本机没问题。

将cmp里的<=号该成<号就对了,这是为何... ...

RE代码:

#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;

#define int long long

const int N=100005;

struct A {int t,d;} a[N]; 
int n,sum,ans;

bool cmp(A x,A y) {return x.t*y.d<=y.t*x.d;}

signed main()
{
	cin>>n;
	for(int i=1;i<=n;i++) {
		scanf("%lld%lld",&a[i].t,&a[i].d);
		sum+=a[i].d;
	}
	sort(a+1,a+1+n,cmp);
	for(int i=1;i<=n;i++) {
		sum-=a[i].d;
		ans+=sum*2*a[i].t;
	}
	cout<<ans;
	return 0;	
}
2020/10/20 17:06
加载中...