提出 #7405488


ソースコード 拡げる

#include <bits/stdc++.h>
#ifdef DEBUG
  #include "debug.hpp"
#else
  #define DUMP(var)
#endif

using namespace std;
template< class T1, class T2 > inline istream &
operator>>( istream & fin, pair< T1, T2 > & pr )
{ fin >> pr.first >> pr.second; return fin; }
template< class T0, class T1, class T2 > inline istream &
operator>>( istream & fin, tuple< T0, T1, T2 > & t )
{ fin >> get<0>(t) >> get<1>(t) >> get<2>(t); return fin; }
template< class T > inline istream &
operator>>( istream & fin, vector< T > & a ) {
for(auto & u: a) fin >> u; return fin; }
template<class T, size_t n> inline istream &
operator>>( istream & fin, array<T, n> & a ) {
for(auto & u: a) fin >> u; return fin; }
template<class FwdIter> inline auto
dump(FwdIter first, FwdIter last, const char * dlm = " ") -> void {
using value_type = typename iterator_traits<FwdIter>::value_type;
copy(first, last, ostream_iterator<value_type>(cout, dlm)); }
template<typename T> vector<T> & operator--(vector<T> & a)
{ for(auto & i: a) --i; return a; }
/* @@@ ----------------------------------- */


int main(const int /*argc*/, char ** /*argv*/) {
  ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr);

  size_t n;
  cin >> n;
  vector<size_t> a(1ULL << n);
  cin >> a;
  map<size_t, size_t, greater<size_t>> cnt;
  for (const auto i: a) {
    ++cnt[i];
  }
  map<size_t, size_t> xs;
  {
    auto i = cnt.begin(); // std::prev(cnt.end());
    xs.emplace(i->first, 1);
    if (--(i->second) == 0) {
      cnt.erase(i);
    }
  }

  for (size_t k = 0; k < n; ++k) {
    vector<size_t> buf;
    for (auto iter = xs.crbegin(); iter != xs.crend(); ++iter) {
      const auto pr = *iter;
      auto i = cnt.upper_bound(pr.first);
      for (size_t j = 0; j < pr.second; ++j) {
        if (i == cnt.end()) {
          cout << "No";
          return 0;
        }
        buf.push_back(i->first);
        if (--(i->second) == 0) {
          i = cnt.erase(i);
        }
      }
    }
    for (const auto i: buf) {
      ++xs[i];
    }
  }
  cout << "Yes";

  return EXIT_SUCCESS;
}

提出情報

提出日時
問題 F - Many Slimes
ユーザ behzad_nouri
言語 C++14 (GCC 5.4.1)
得点 600
コード長 2128 Byte
結果 AC
実行時間 254 ms
メモリ 20340 KiB

ジャッジ結果

セット名 All Sample
得点 / 配点 600 / 600 0 / 0
結果
AC × 79
AC × 4
セット名 テストケース
All sample_01, sample_02, sample_03, sample_04, testcase_0, testcase_1, testcase_10, testcase_11, testcase_12, testcase_13, testcase_14, testcase_15, testcase_16, testcase_17, testcase_18, testcase_19, testcase_2, testcase_20, testcase_21, testcase_22, testcase_23, testcase_24, testcase_25, testcase_26, testcase_27, testcase_28, testcase_29, testcase_3, testcase_30, testcase_31, testcase_32, testcase_33, testcase_34, testcase_35, testcase_36, testcase_37, testcase_38, testcase_39, testcase_4, testcase_40, testcase_41, testcase_42, testcase_43, testcase_44, testcase_45, testcase_46, testcase_47, testcase_48, testcase_49, testcase_5, testcase_50, testcase_51, testcase_52, testcase_53, testcase_54, testcase_55, testcase_56, testcase_57, testcase_58, testcase_59, testcase_6, testcase_60, testcase_61, testcase_62, testcase_63, testcase_64, testcase_65, testcase_66, testcase_67, testcase_68, testcase_69, testcase_7, testcase_70, testcase_71, testcase_72, testcase_73, testcase_74, testcase_8, testcase_9
Sample sample_01, sample_02, sample_03, sample_04
ケース名 結果 実行時間 メモリ
sample_01 AC 1 ms 256 KiB
sample_02 AC 1 ms 256 KiB
sample_03 AC 1 ms 256 KiB
sample_04 AC 1 ms 256 KiB
testcase_0 AC 1 ms 256 KiB
testcase_1 AC 1 ms 256 KiB
testcase_10 AC 33 ms 3828 KiB
testcase_11 AC 1 ms 256 KiB
testcase_12 AC 1 ms 256 KiB
testcase_13 AC 1 ms 256 KiB
testcase_14 AC 19 ms 2040 KiB
testcase_15 AC 1 ms 256 KiB
testcase_16 AC 1 ms 256 KiB
testcase_17 AC 33 ms 3828 KiB
testcase_18 AC 1 ms 256 KiB
testcase_19 AC 1 ms 256 KiB
testcase_2 AC 53 ms 6136 KiB
testcase_20 AC 9 ms 1148 KiB
testcase_21 AC 33 ms 3828 KiB
testcase_22 AC 2 ms 384 KiB
testcase_23 AC 33 ms 3828 KiB
testcase_24 AC 9 ms 1148 KiB
testcase_25 AC 1 ms 256 KiB
testcase_26 AC 2 ms 384 KiB
testcase_27 AC 1 ms 256 KiB
testcase_28 AC 1 ms 256 KiB
testcase_29 AC 1 ms 256 KiB
testcase_3 AC 49 ms 6136 KiB
testcase_30 AC 1 ms 256 KiB
testcase_31 AC 215 ms 20212 KiB
testcase_32 AC 209 ms 20212 KiB
testcase_33 AC 217 ms 20212 KiB
testcase_34 AC 201 ms 20212 KiB
testcase_35 AC 186 ms 20212 KiB
testcase_36 AC 17 ms 2816 KiB
testcase_37 AC 1 ms 256 KiB
testcase_38 AC 1 ms 256 KiB
testcase_39 AC 1 ms 256 KiB
testcase_4 AC 128 ms 12020 KiB
testcase_40 AC 17 ms 2816 KiB
testcase_41 AC 36 ms 5244 KiB
testcase_42 AC 1 ms 256 KiB
testcase_43 AC 212 ms 20212 KiB
testcase_44 AC 1 ms 256 KiB
testcase_45 AC 9 ms 1536 KiB
testcase_46 AC 133 ms 12020 KiB
testcase_47 AC 1 ms 256 KiB
testcase_48 AC 1 ms 256 KiB
testcase_49 AC 1 ms 256 KiB
testcase_5 AC 107 ms 12020 KiB
testcase_50 AC 13 ms 1792 KiB
testcase_51 AC 1 ms 256 KiB
testcase_52 AC 1 ms 256 KiB
testcase_53 AC 1 ms 256 KiB
testcase_54 AC 9 ms 1536 KiB
testcase_55 AC 1 ms 256 KiB
testcase_56 AC 1 ms 256 KiB
testcase_57 AC 5 ms 896 KiB
testcase_58 AC 1 ms 256 KiB
testcase_59 AC 226 ms 20340 KiB
testcase_6 AC 254 ms 20212 KiB
testcase_60 AC 1 ms 256 KiB
testcase_61 AC 1 ms 256 KiB
testcase_62 AC 1 ms 256 KiB
testcase_63 AC 1 ms 256 KiB
testcase_64 AC 1 ms 256 KiB
testcase_65 AC 1 ms 256 KiB
testcase_66 AC 1 ms 256 KiB
testcase_67 AC 1 ms 256 KiB
testcase_68 AC 1 ms 256 KiB
testcase_69 AC 1 ms 256 KiB
testcase_7 AC 34 ms 3828 KiB
testcase_70 AC 1 ms 256 KiB
testcase_71 AC 1 ms 256 KiB
testcase_72 AC 1 ms 256 KiB
testcase_73 AC 1 ms 256 KiB
testcase_74 AC 1 ms 256 KiB
testcase_8 AC 34 ms 3828 KiB
testcase_9 AC 34 ms 3828 KiB