一日悩んだ。
K+1周期で同じ色に塗り分けると気付く
class BunnyComputer {
public:
int getMaximum(vector <int> P, int K)
{
int ret = 0;
for (int i = 0; i < K + 1 && i < P.size(); ++i) {
int mn = 1 << 30;
int sum = 0;
int cnt = 0;
for (int j = i; j < P.size(); j += K + 1) {
sum += P[j];
++cnt;
if (cnt % 2) mn = min(mn, P[j]);
}
ret += sum;
if (cnt % 2) ret -= mn;
}
return ret;
}
};
0 件のコメント :
コメントを投稿