我必须承认做这题的主要目的是练习英文。。。
题目大意:给出n个大小不同的钻石和两个盒子,每个钻石可以放进某个盒子或者不放,但不能同时放入两个盒子,并且满足每个盒子中最大钻石和最小钻石的尺寸值不超过K,求两个盒子加起来最多一共可以放入多少颗钻石。
比较裸的排序后贪心,先由小到大排序,O(n)预处理出从i开始放最多可以放几颗到一个盒子,再找两个不相交的最大区间求和即可。
/**************************************************************
Problem: 4582
User: RicardoWang
Language: C++
Result: Accepted
Time:68 ms
Memory:1664 kb
****************************************************************/
#include<cstdlib>
#include<cstdio>
|