2012年2月5日日曜日

バカじゃないの

Div1昇格は夢のまた夢なのか!?
SRM 530 Div2
250
昇順でソート済みの配列が最短手順でソートされているとして、動いた数字の個数の最大値を求めよ、みたいな。
↑だと非常に分かりにくいけど、コップに入ったピンポン玉を一個ずつ動かすイメージ。
#include<vector>
using namespace std;
class GogoXBallsAndBinsEasy{
public:
 int solve(vector<int>);
};

int GogoXBallsAndBinsEasy::solve(vector<int> T){
 int ans = 0;
 for(int i = 0; i < (T.size() / 2); i++){
  ans += T[T.size() - (i + 1)] - T[i];
 }
 return ans;
}
冗長な部分もあると思うけど。
アルゴリズムとしては、昇順にソートするなら一番手数掛かるのは元が降順のときだよねって感じで
大体問題読み始めてから7分位でやっと意味を把握、ノープランで実装開始するもどうやってもバグがとれない。
なんか配列の要素数を求めるところが良くわかんないことになってた。単純にT.size()でいいんだけどね。
結局コーディングに12分も掛かったでござる。159.09ポイントだってさ。
飯食ったら500点問題挑んできます

0 件のコメント:

コメントを投稿