[topcoder]SRM 647 DIV 2

第一题,送分题。

第二题,

#include <vector>
#include <algorithm>
#include <map>
#include <queue>
using namespace std;

class TravellingSalesmanEasy {
public:
  int getMaxProfit(int M, vector <int> profit, vector <int> city, vector <int> visit) {
    map<int, priority_queue<int>> mm;
    int result = M - M;
    for (int i = 0; i < profit.size(); i++) {
      mm[city[i]].push(profit[i]);
    }
    for (int i = 0; i < visit.size(); i++) {
      if (mm[visit[i]].size() > 0) {
        result += mm[visit[i]].top();
        mm[visit[i]].pop();
      }
    }
    return result;
  }
};

第三题,过了基本测试用例,没过后继测试。等官方文章。

原文地址:https://www.cnblogs.com/lautsie/p/4276013.html