/ SeriousOJ /

Record Detail

Time Exceeded


  
# Status Time Cost Memory Cost
#1 Accepted 2ms 500.0 KiB
#2 Time Exceeded ≥2092ms ≥576.0 KiB
#3 Time Exceeded ≥2084ms ≥404.0 KiB
#4 Time Exceeded ≥2095ms ≥532.0 KiB
#5 Time Exceeded ≥2092ms ≥1.098 MiB
#6 Time Exceeded ≥2080ms ≥6.68 MiB
#7 Time Exceeded ≥2088ms ≥6.609 MiB
#8 Time Exceeded ≥2081ms ≥6.637 MiB
#9 Time Exceeded ≥2082ms ≥6.562 MiB
#10 Time Exceeded ≥2041ms ≥6.641 MiB
#11 Time Exceeded ≥2082ms ≥6.645 MiB
#12 Time Exceeded ≥2085ms ≥6.617 MiB
#13 Time Exceeded ≥2081ms ≥6.605 MiB
#14 Time Exceeded ≥2076ms ≥6.617 MiB
#15 Time Exceeded ≥2082ms ≥6.676 MiB
#16 Time Exceeded ≥2093ms ≥6.672 MiB
#17 Time Exceeded ≥2072ms ≥2.43 MiB
#18 Time Exceeded ≥2082ms ≥576.0 KiB
#19 Time Exceeded ≥2095ms ≥836.0 KiB
#20 Time Exceeded ≥2084ms ≥6.637 MiB

Code

#include <bits/stdc++.h>
using namespace std;

#define FAST ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL)
using ll = long long;

mt19937 R(chrono::steady_clock::now().time_since_epoch().count());

template<typename T>
vector<T> normalize(vector<T>& a, T start = 0) {
  int n = a.size();
  vector<T> b = a;
  sort(b.begin(), b.end());
  b.erase(unique(b.begin(), b.end()), b.end());
  vector<T> ret(n, start);
  for (int i = 0; i < n; ++i) {
    ret[i] += lower_bound(b.begin(), b.end(), a[i]) - b.begin();
  }
  return ret;
}

int main() {
  FAST;
  
  int tc = 1, ti;
  cin >> tc;

  for (ti = 1; ti <= tc; ++ti) {
    ll n, i, t, curr, ans;
    cin >> n;

    vector<ll> a(n), col(n);
    for (i = 0; i < n; ++i) cin >> a[i];

    ans = LLONG_MAX;
    t = n*50; while (t--) {
      col[0] = R() % 6;
      col[1] = R() % 6;
      while (col[1] == col[0]) col[1] = R() % 6;
      for (i = 2; i < n; ++i) {
        col[i] = R() % 6;
        while ((col[i] == col[i-2]) || (col[i] == col[i-1])) {
          col[i] = R() % 6;
        }
      }
      col = normalize(col);
      curr = 0;
      for (i = 0; i < n; ++i) curr += col[i] * a[i];
      ans = min(ans, curr);
    }

    cout << ans << "\n";
  }

  return 0;
}

Information

Submit By
Type
Submission
Problem
P1087 Face the monsters
Contest
Brain Booster #5
Language
C++20 (G++ 13.2.0)
Submit At
2024-09-05 17:31:54
Judged At
2024-10-03 13:03:19
Judged By
Score
5
Total Time
≥2095ms
Peak Memory
≥6.68 MiB