1. 程式人生 > >2018.11.07【洛谷P2123】皇后遊戲(貪心)(結論)

2018.11.07【洛谷P2123】皇后遊戲(貪心)(結論)

傳送門


BB:

蒟蒻太菜了,就不寫解析了,放一個看的比較懂的大佬的部落格


程式碼:

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define re register
#define gc getchar
#define pc putchar
#define cs const

inline int getint(){
	re int num;
	re char c;
	while(!isdigit(c=gc()));num=c^48;
	while(isdigit
(c=gc()))num=(num<<1)+(num<<3)+(c^48); return num; } cs int N=50004; typedef pair<int,int> pii; pii a[N]; inline bool cmp(cs pii &a,cs pii &b){ return min(a.first,b.second)==min(b.first,a.second)?a.first<a.second:min(a.first,b.second)<min(b.first,a.second); } ll c[N]
,sum; int T,n; signed main(){ T=getint(); while(T--){ n=getint(); for(int re i=1;i<=n;++i){ a[i].first=getint(); a[i].second=getint(); } sort(a+1,a+n+1,cmp); sum=0; for(int re i=1;i<=n;++i){ sum+=a[i].first; c[i]=max(c[i-1],sum)+a[i].second; } cout<<c[n]<<
endl; } return 0; }