Submission #1255762

#TimeUsernameProblemLanguageResultExecution timeMemory
1255762eradaxFestival (IOI25_festival)C++20
27 / 100
64 ms10024 KiB
#include "festival.h"
#include <bits/stdc++.h>
using namespace std;

using ll = long long;
using vi = vector<int>;
using vvi = vector<vi>;

using a3 = array<ll, 3>;
using v3 = vector<a3>;

#define sz(c) ((int)c.size())

vi max_coupons(int _a, vi p, vi t) {
  int n = sz(p);
  assert(n == sz(t));

  ll a = _a;

  v3 coup;
  for (int i = 0; i < n; i++) {
    coup.push_back({p[i], t[i], i});
  }

  sort(coup.begin(), coup.end(), [](auto lhs, auto rhs) {
    auto [x, y, lind] = lhs;
    auto [z, w, rind] = rhs;

    if (y == 1 && w == 1)
      return x < z;

    return x * y * (w - 1) < z * w * (y - 1);
  });

  vi ret;
  for (auto [x, y, i] : coup)
    ret.push_back(i);

  return ret;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...