SRM 600 div 2 T 1

 
贪心+枚举
#include <bits/stdc++.h>
using namespace std;

 

class TheShuttles {
public:
int getLeastCost( vector <int> cnt, int baseCost, int seatCost );
};
int Maxn1,MAXN1;
int TheShuttles::getLeastCost(vector <int> cnt, int baseCost, int seatCost) {
    for (int i = 0; i < cnt.size(); i ++){
        Maxn1 = max(Maxn1, cnt[i]);
    }
    for (int i = 1; i <= Maxn1; i ++){
        int sum = 0;
        for (int j = 0; j < cnt.size(); j ++){
            sum = ((cnt[j] - 1) / i + 1) + sum;
        }
        if ((i * seatCost + baseCost) * sum < MAXN1)
            MAXN1 = (i * seatCost + baseCost) * sum;
    }
    return MAXN1;
}
posted @ 2018-08-30 08:25  Trimsteanima  阅读(100)  评论(0编辑  收藏  举报
Live2D