思路:

使用堆即可。

实现:

 #include <iostream>
#include <map>
#include <vector>
#include <cstring>
#include <queue>
#include <algorithm> using namespace std; typedef pair<int, int> pii; int buf[], need[][]; int main()
{
int T, n, m;
cin >> T;
map<string, int> mp;
mp["CV"] = ; mp["DD"] = ; mp["CL"] = ;
mp["CA"] = ; mp["BB"] = ; mp["BC"] = ;
while (T--)
{
memset(need, , sizeof need);
cin >> n >> m;
string s;
int l, f;
vector<pii> v[];
for (int i = ; i < n; i++)
{
cin >> s >> l >> f;
v[mp[s]].push_back(pii(l, f));
}
for (int i = ; i < ; i++) sort(v[i].begin(), v[i].end());
for (int i = ; i < m; i++)
{
for (int j = ; j < ; j++) cin >> buf[j];
cin >> l;
for (int j = ; j < ; j++)
{
need[j][l] += buf[j];
}
}
bool flg = true;
int ans = ;
for (int i = ; i < ; i++)
{
priority_queue<int, vector<int>, greater<int>> q;
for (int j = ; j >= ; j--)
{
if (need[i][j])
{
while (!v[i].empty() && v[i].back().first >= j)
{
q.push(v[i].back().second);
v[i].pop_back();
}
if (q.size() < need[i][j]) { flg = false; break; }
while (need[i][j]) { ans += q.top(); q.pop(); need[i][j]--; }
}
}
if (!flg) break;
}
if (!flg) cout << - << endl;
else cout << ans << endl;
}
return ;
}

最新文章

  1. Mac上开启Web服务
  2. js apply/call/caller/callee/bind使用方法与区别分析
  3. textview自适应高度的计算方法
  4. java security
  5. ios开发学习笔记(1)
  6. 【TCP/IP 合约】 TCP/IP 基金会
  7. 主引导记录MBR/硬盘分区表DPT/主分区、扩展分区和逻辑分区/电脑启动过程
  8. Javascript调用 ActiveXObject导出excel文档。
  9. Java核心技术 卷I chapter05 继承
  10. ScheduledFuture和RunnableScheduledFuture详解
  11. win7中python3.4下安装scrapy爬虫框架(亲测可用)
  12. [自用]多项式类数学相关(定理&amp;证明&amp;板子)
  13. 2018-2019-1-20165221&amp;20165225 《信息安全系统设计》实验五:通讯协议设计
  14. redis 中的key值过期后,触发通知事件
  15. [蓝桥杯]ALGO-20.算法训练_求先序排列
  16. pb数据窗口之间的传参
  17. 【UOJ#22】【UR#1】外星人
  18. Microsoft.Net 版本
  19. windows10密钥激活方法
  20. [转帖]go的调度机制.

热门文章

  1. [SDOI 2015] 星际战争
  2. IDEA 设置背景颜色及字号
  3. MongoDB复制集成员及架构介绍(一)
  4. DAG上的DP
  5. docker 学习(四) springboot + docker
  6. float和Float的区别
  7. 梦工厂实验室 取石子之fans 博弈
  8. HDU - 2037 今年暑假不AC 贪心(求序列中不重叠子序列的最大值问题)
  9. lua面向对象实现(实例化对象、继承、多态、多继承、单例模式)
  10. VC中使用GDI+实现为按钮加载Png图片