TLE 1.2s 全满:
#include<bits/stdc++.h>
#define int long long
using namespace std;
struct fish{
int a,b;
}a[50005];
bool cmp(fish x,fish y){
return x.b<y.b;
}
signed main(){
int n;
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i].a>>a[i].b;
sort(a+1,a+1+n,cmp);
int ans=0;
for(int i=1;i<n;i++)
for(int j=i+1;j<=n;j++)
ans+=max(a[i].a,a[j].a)*(a[j].b-a[i].b);
cout<<ans;
return 0;
}
AC:
#include<bits/stdc++.h>
#define int long long
using namespace std;
struct fish{
int a,b;
}a[50005];
bool cmp(fish x,fish y){
return x.b<y.b;
}
signed main(){
int n;
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i].a>>a[i].b;
sort(a+1,a+1+n,cmp);
int ans=0;
for(int i=1;i<n;i++)
for(int j=i+1;j<=n;j++)
ans+=max(a[i].a,a[j].a)*(a[j].b-a[i].b);
cout<<ans;
return 0;
}
原数组排序与否为什么会对耗时产生巨大影响?
好像就省了个 abs() 而已啊