option=com_onlinejudge&Itemid=8&page=show_problem&category=648&problem=5158&mosmsg=Submission+received+with+ID+1708713
/**UVA LA 7146 2014上海亚洲赛(贪心)题目大意:给定敌我两方士兵的数量和每一个士兵的攻击力和防守力,假设两个士兵对战。一方的攻击力大于等于还有一方的防守力。那么成功杀死,可能同归于尽 问在我方能够全部杀死地方士兵的情况下,问我方能剩下的士兵最多是多少解题思路:这题去年在现场没有写出来== 首先要保证的是地方全部人都要被杀死,那么把我方士兵攻击力递减排序。敌方士兵防守力递减排序。枚举敌方的 士兵。将我方全部攻击力大于其防守力的士兵入multiset。然后在当中选择第一个防守力大于当前敌方士兵攻击力的我方士兵,若没有满足的,删除 我方防守力最低的士兵*/#include#include #include #include #include using namespace std;typedef long long LL;const int maxn=100005;int m,n;struct note{ int x,y; bool operator < (const note &other)const { return x>other.x; }}a[maxn],b[maxn];int main(){ int T,tt=0; scanf("%d",&T); while(T--) { scanf("%d%d",&n,&m); for(int i=0;i