hdu 1789
来源:互联网 发布:指纹打卡机怎么导出数据 编辑:程序博客网 时间:2024/06/06 01:07
对于可以补的subject 应该优先考虑分数大的 并且尽量延后时间,只需要按照分值大小排序然后依次安排即可
#include<iostream>#include<cstring>#include<algorithm>#include<cstdio>#include<vector>#include<string>#include<cmath>#include<deque>#include<map>#include<queue>#define iinf 0x7f7f7f7f#define linf 1000000000000000000LL#define dinf 1e200#define eps 1e-11#define lng long long#define sqr(a) ((a)*(a))#define pii pair<int,int>#define X first#define Y second#define pi 3.14159265359#define cc(i,j) memset(i,j,sizeof(i))#define two(x) ((lng)1<<(x))#define mod 9901#define pmod(x,y) (x%y+y)%y#include<set>using namespace std;typedef vector<int> vi;typedef vector<string> vs;template<class T> inline void checkmax(T &x,T y){if(x<y) x=y;}template<class T> inline void checkmin(T &x,T y){if(x>y) x=y;}template<class T> inline T Min(T x,T y){return (x>y?y:x);}template<class T> inline T Max(T x,T y){return (x<y?y:x);}template<class T> T Abs(T a){return a>0?a:(-a);}int ncase;int n,sum;pii d[1111];bool is[2222];bool cmp(pii p,pii q){ return p.X>q.X;}int main(){ scanf("%d",&ncase); while(ncase--) { scanf("%d",&n); sum=0; for(int i=1;i<=n;++i) scanf("%d",&d[i].Y); for(int i=1;i<=n;++i) { scanf("%d",&d[i].X); } sort(d+1,d+1+n,cmp); cc(is,0); for(int i=1;i<=n;++i) { for(int j=d[i].Y;j>=0;--j) { if(j==0) sum+=d[i].X; else if(!is[j]) { is[j]=1; break; } } } printf("%d\n",sum); } return 0;}
- HDU 1789
- hdu 1789
- HDU 1789
- hdu 1789
- hdu-1789
- Hdu 1789
- hdu 1789
- hdu 1789
- HDU-1789
- HDU 1789
- HDU-1789
- HDU 1789
- HDU-1789
- HDU 1789
- hdu 1050+hdu 1789+hdu 3177(贪心)
- HDU ACM 1789
- hdu 1789 贪心
- hdu 1789 贪心算法
- LINUX驱动分析之RTC(三)
- PHP获取星期的方法及代码
- 关于iOS应用设计的一些最佳实践
- hdu 4347 【KD-TREE】
- LINUX驱动分析之RTC(四)
- hdu 1789
- jsp介绍
- SSH框架的一些面试题
- RTP实时音视频数据传输环境构建
- c++ _T
- android中版本信息的管理
- php面试题 part1
- jsp内置对象
- mongo 连接出错