/ SeriousOJ /

Record Detail

Time Exceeded


  
# Status Time Cost Memory Cost
#1 Accepted 2ms 324.0 KiB
#2 Time Exceeded ≥2085ms ≥580.0 KiB
#3 Time Exceeded ≥2085ms ≥320.0 KiB

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 = 1000; 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:28:17
Judged At
2024-11-11 02:58:05
Judged By
Score
5
Total Time
≥2085ms
Peak Memory
≥580.0 KiB