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 |
|
|
|
| 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 |