解いた問題

4/09/2011

SRM304Div2

250
問題を読むのに時間がかかった。
class RugSizes {
public:
  int rugCount(int a) {
    int r = 0;
    set<int> cnt;
    for(int i=1; i*i<=a; ++i){
      if(a % i)continue;
      int j = a / i;
      if(i == j)cnt.insert( min(i, j) );
      else if(i % 2 || j % 2)cnt.insert( min(i, j) );
    }
    return r = cnt.size();
  }
}; 
500
変に簡単。
class MovingAvg {
public:
  double difference(int k, vector <double> d) {
    double mx = -1;
    double mn = 1000 * 100;
    for(int i=0; i+k-1<d.size(); ++i){
      double ave = 0;
      for(int j=0; j<k; ++j){
        ave += d[i+j];
      }
      ave /= (double)k;
      mx = max(mx, ave);
      mn = min(mn, ave);
    }
    return mx - mn;
  }
}; 
1000
読んでない。

0 件のコメント :

コメントを投稿