HDU 6127: Hard challenge
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU 6127: Hard challenge相关的知识,希望对你有一定的参考价值。
Hard challenge
#include<bits/stdc++.h>
typedef long long L;
using namespace std;
#define endl ‘\n‘
const int MAXN=5*1e4+5;
struct Point
{
int x,y,val;
}p[MAXN];
bool cmp(const Point &x,const Point &y)
{
if(x.x==0)return true;
if(y.x==0)return false;
return x.y/(double)x.x>=y.y/(double)y.x;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
int T;
cin>>T;
while(T--)
{
int n;
cin>>n;
for(int i=0;i<n;i++)cin>>p[i].x>>p[i].y>>p[i].val;
sort(p,p+n,cmp);
L sum1=0,sum2=0,ans=0;
for(int i=0;i<n;i++)
{
if(p[i].x<0||(p[i].x==0&&p[i].y<0))sum1+=p[i].val;
else sum2+=p[i].val;
}
for(int i=0;i<n;i++)
{
if(p[i].x<0||(p[i].x==0&&p[i].y<0))
{
sum1-=p[i].val;
sum2+=p[i].val;
}
else
{
sum1+=p[i].val;
sum2-=p[i].val;
}
ans=max(ans,sum1*sum2);
}
cout<<ans<<endl;
}
return 0;
}
以上是关于HDU 6127: Hard challenge的主要内容,如果未能解决你的问题,请参考以下文章
HDU 6127 Hard challenge (极角扫描)
hdu 6127 : Hard challenge (2017 多校第七场 1008)(计算几何)