1 条题解
-
0
#include<cstdio> #include<algorithm> #include<set> #include<map> using namespace std; typedef long long LL; #define int LL typedef multiset<int>::iterator Site; struct tw{ int out,in,b; bool operator < (tw q) const {return b>q.b;} }wa[200005]; multiset<int> Set; signed main(){ int n,ans=0; scanf("%lld",&n); for(int i=1;i<=n;++i) { scanf("%lld %lld %lld",&wa[i].out,&wa[i].in,&wa[i].b); ans+=wa[i].in*wa[i].b; Set.insert(wa[i].out); } sort(wa+1,wa+1+n); for(int i=1;i<=n;++i) { Site it=Set.lower_bound(wa[i].in); if(it!=Set.begin()) ans-=(*--it)*wa[i].b,Set.erase(it); } printf("%lld",ans); return 0; }
- 1
信息
- ID
- 5008
- 时间
- 2000ms
- 内存
- 500MiB
- 难度
- 5
- 标签
- 递交数
- 6
- 已通过
- 3
- 上传者