zoukankan      html  css  js  c++  java
  • hdu 4864 Task (馋)

    # include <stdio.h>
    # include <algorithm>
    # include <string.h>
    using namespace std;
    struct node
    {
    	int t;
    	int v;
    	int yy;
    };
    struct node a[100010],b[100010];
    bool cmp(node a1,node a2)
    {
    	if(a1.t==a2.t)//先按时间从大到小
    		return a1.v>a2.v;//再按水平从大到小
    	return a1.t>a2.t;
    }
    int main()
    {
    	int n,m,i,j;
    	int map[100010];
    	__int64 sum;
    	while(~scanf("%d%d",&n,&m))
    	{
    		for(i=0;i<n;i++)
    			scanf("%d%d",&a[i].t,&a[i].v);
    		for(i=0;i<m;i++)
    		{
    			scanf("%d%d",&b[i].t,&b[i].v);
    			b[i].yy=b[i].t*500+b[i].v*2;
    		}
    		sort(a,a+n,cmp);
    		sort(b,b+m,cmp);
    		int xx=0;
    		memset(map,0,sizeof(map));
    		sum=0;
    		int cot=0;
    		for(i=0;i<m;i++)
    		{
                 while(xx<n&&a[xx].t>=b[i].t)
    				 map[a[xx++].v]++;//时间满足的标记
    			 for(j=b[i].v;j<=100;j++)//从满足最小的价值開始搜
    			 {
    				 if(map[j])//存在这个价值
    				 {
    					 map[j]--;
    					 sum+=b[i].yy;
    					 cot++;
    					 break;
    				 }
    			 }
    		}
    		printf("%d %I64d
    ",cot,sum);
    	}
    	return 0;
    }

    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    为上次写的框架加了一个辅助功能
    复制文件夹下所有文件
    进制之间的相互转换
    c# 修改appConfig文件节点
    GUID
    太悲哀了
    poj2411 Mondriaan's Dream
    poj3311 Hie with the Pie
    HDU3001 Travelling
    luogu p2622关灯问题II
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4864739.html
Copyright © 2011-2022 走看看