Hatena::Grouptopcoder

naoya_t@topcoder RSSフィード

2009-01-07

SRM379 Div1 Easy: SellingProducts

| 22:39 | SRM379 Div1 Easy: SellingProducts - naoya_t@topcoder を含むブックマーク はてなブックマーク - SRM379 Div1 Easy: SellingProducts - naoya_t@topcoder SRM379 Div1 Easy: SellingProducts - naoya_t@topcoder のブックマークコメント

サンプルケースが親切

#define sz(a)  int((a).size())
#define all(c)  (c).begin(),(c).end()
#define tr(c,i)  for(typeof((c).begin()) i=(c).begin(); i!=(c).end(); i++)
#define rep(var,n)  for(int var=0;var<(n);var++)

class SellingProducts {
 public:
  int optimalPrice(vector<int> price, vector<int> cost) {
	int n=sz(price);
    vector<pair<int,int> > pc(n);
    rep(i,n){ pc[i]=make_pair(price[i],cost[i]);}
    sort(all(pc));
    int summax=0, the_price=0;
    rep(i,n){
      int p=pc[i].first;
      int sum=0;
      for(int j=i;j<n;j++){
        int d=(p - pc[j].second);
        if(d>0) sum+=d;
      }
      if(sum>0){
        if(sum==summax) ;
        if(sum>summax){
          summax=sum;
          the_price=p;
        }
      }
    }
    return the_price;
  }
};

いきなりコーディングしてるけどちゃんとまとめてからにした方がいい。却って時間をロスしている。(199.45点だったか)

トラックバック - http://topcoder.g.hatena.ne.jp/n4_t/20090107