[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;

  }

};

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

你可能感兴趣的:(topcoder)