Hatena::Grouptopcoder

TopCoderの問題を解く

解いた問題の一覧表

2009-08-20

ProgressBar

| 17:36

問題文, SRM 173

インストール作業の進捗具合を示すプログレス・バーを表示する。

240.19/250

class ProgressBar {
public:
    string showProgress(vector <int> taskTimes, int tasksCompleted) {
        int total = accumulate(taskTimes.begin(), taskTimes.end(), 0);
        int completed = accumulate(taskTimes.begin(), 
                taskTimes.begin()+tasksCompleted, 0);
        double percent = static_cast<double>(completed) / total;
        string progress(20, '.');
        for (int i = 0; i < floor(percent*20); i++)
            progress[i] = '#';
        return progress;
    }
};