# abc121C [Energy Drink Collector (300)](https://atcoder.jp/contests/abc121/tasks/abc121_c) ソートしろというやつ。そういえば、C++ でソートどうやって書くのかしらんわーってなったんだけど、 [一応書いてみて](https://atcoder.jp/contests/abc121/submissions/4886351)${しかも何回か WA だした。}、 そのあと、${vector>} と ${sort} を使うものに書き直した。 あとは、あれね。int では溢れるのをちゃんと気にすること。 この問題は、sort の基本ということで、道具箱の整理の意味で、C#, Haskell でも書いておこう。 ## C++ $$
{
#include 
using namespace std;

int main()
{
  int n, m;
  cin >> n >> m;
  vector> dat(n);

  for (int i = 0; i < n; i++){
    int a, b;
    cin >> a >> b;
    dat[i] = make_pair(a, b);
  }

  sort(dat.begin(), dat.end());

  long long ans = 0;

  for (int i = 0; m > 0; i++){
    int price = dat[i].first;
    int num = min(m, dat[i].second);
    ans += price * (long long) num;
    m -= num;
  }

  cout << ans << endl;
}
$$}