Submission #377345


Source Code Expand

#include <cstdio>
#include <iostream>
#include <algorithm>
#include <map>
#include <set>
#include <queue>
#include <vector>
#include <array>

using namespace std;

#define all(c) ((c).begin()), ((c).end())
#define dump(c) cerr << "> " << #c << " = " << (c) << endl;
#define REP(i, a, b) for (int i = (a); i < (int)(b); i++)
#define rep(i, n) REP(i, 0, n)

typedef long long ll;
typedef vector<int> vi;
typedef pair<int, int> pii;


template<typename T1,typename T2>
ostream& operator<<(ostream& os,const pair<T1,T2>& p){
  return os<<'('<<p.first<<','<<p.second<<')';
}
template<typename T>
ostream& operator<<(ostream& os,const vector<T>& a){
  os<<'[';
  rep(i,a.size()) os<<(i?" ":"")<<a[i];
  return os<<']';
}

int main() {
  int n; cin >> n;
  vector<int> h(n);
  map<int, int> is;
  rep(i, n) {
    cin >> h[i];
    is[h[i]] = i;
  }
  vector<int> sh = h;
  sort(all(sh));

  vector<int> tmp;
  tmp.reserve(1000000);
  map<int, int> bs;
  rep(i, n) {
    int e = h[n - i - 1];
    if (tmp.size() == 0) {
      tmp.push_back(e);
      bs[e] = 0;
    }
    else {
      auto it = lower_bound(all(tmp), e);
      tmp.insert(it, e);
      bs[e] = it - tmp.begin();
      // dump(bs[e]);
    }
  }

  if (is.size() != n) {
    cout << -1 << endl;
    return 0;
  }

  ll ans = 0;
  rep(i, n) {
    ll e = sh[i];
    ll c = (is[e] + bs[e] - i) * e;
    // dump(i);
    // dump(e);
    // dump(is[e]);
    // dump(bs[e]);
    // dump(c);
    ans += c;
  }

  cout << ans << endl;



  return 0;
}

Submission Info

Submission Time
Task E - Line up!
User hyon
Language C++14 (Clang++ 3.4)
Score 100
Code Size 1580 Byte
Status AC
Exec Time 1482 ms
Memory 11304 KiB

Judge Result

Set Name Sample Subtask1 All
Score / Max Score 0 / 0 30 / 30 70 / 70
Status
AC × 2
AC × 25
AC × 45
Set Name Test Cases
Sample subtask0_sample_01.txt, subtask0_sample_02.txt
Subtask1 subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask0_sample_01.txt, subtask0_sample_02.txt
All subtask0_sample_01.txt, subtask0_sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt, subtask2_20.txt
Case Name Status Exec Time Memory
subtask0_sample_01.txt AC 28 ms 920 KiB
subtask0_sample_02.txt AC 26 ms 800 KiB
subtask1_01.txt AC 25 ms 928 KiB
subtask1_02.txt AC 27 ms 800 KiB
subtask1_03.txt AC 26 ms 804 KiB
subtask1_04.txt AC 25 ms 928 KiB
subtask1_05.txt AC 26 ms 800 KiB
subtask1_06.txt AC 26 ms 924 KiB
subtask1_07.txt AC 24 ms 928 KiB
subtask1_08.txt AC 27 ms 812 KiB
subtask1_09.txt AC 26 ms 796 KiB
subtask1_10.txt AC 25 ms 800 KiB
subtask1_11.txt AC 32 ms 920 KiB
subtask1_12.txt AC 119 ms 880 KiB
subtask1_13.txt AC 26 ms 828 KiB
subtask1_14.txt AC 27 ms 800 KiB
subtask1_15.txt AC 28 ms 860 KiB
subtask1_16.txt AC 29 ms 804 KiB
subtask1_17.txt AC 27 ms 800 KiB
subtask1_18.txt AC 28 ms 844 KiB
subtask1_19.txt AC 27 ms 804 KiB
subtask1_20.txt AC 27 ms 932 KiB
subtask1_21.txt AC 27 ms 920 KiB
subtask1_22.txt AC 28 ms 808 KiB
subtask1_23.txt AC 29 ms 916 KiB
subtask2_01.txt AC 188 ms 11300 KiB
subtask2_02.txt AC 221 ms 11296 KiB
subtask2_03.txt AC 1482 ms 11304 KiB
subtask2_04.txt AC 1314 ms 1956 KiB
subtask2_05.txt AC 207 ms 11292 KiB
subtask2_06.txt AC 858 ms 9892 KiB
subtask2_07.txt AC 860 ms 9884 KiB
subtask2_08.txt AC 860 ms 9880 KiB
subtask2_09.txt AC 858 ms 9896 KiB
subtask2_10.txt AC 860 ms 9820 KiB
subtask2_11.txt AC 909 ms 11296 KiB
subtask2_12.txt AC 909 ms 11300 KiB
subtask2_13.txt AC 906 ms 11296 KiB
subtask2_14.txt AC 906 ms 11292 KiB
subtask2_15.txt AC 908 ms 11304 KiB
subtask2_16.txt AC 908 ms 11220 KiB
subtask2_17.txt AC 907 ms 11300 KiB
subtask2_18.txt AC 899 ms 11296 KiB
subtask2_19.txt AC 909 ms 11296 KiB
subtask2_20.txt AC 903 ms 11300 KiB