用户输出
1
系统信息
Exited with return code 0
编号 | 题目 | 状态 | 分数 | 总时间 | 内存 | 代码 / 答案文件 | 提交者 | 提交时间 |
---|---|---|---|---|---|---|---|---|
#66942 | #1320. [L1-7]救火队员 | Accepted | 100 | 64 ms | 816 K | C++ 17 / 1.4 K | wty | 2022-03-26 20:39:54 |
#include <bits/stdc++.h>
#define db double
#define ll long long
#define int ll
#define vi vector<int>
#define vii vector<vi>
#define pii pair<int, int>
#define vp vector<pii>
#define vip vector<vp>
#define mkp make_pair
#define pb push_back
#define Case(x) cout << "Case #" << x << ": "
using namespace std;
const int INF = 0x3f3f3f3f;
const int P = 998244353;
map<int, pii> mp;
int calc(int id) { return mp[id].second - mp[id].first + 1; }
signed main() {
#ifdef _DEBUG
// FILE *file = freopen("out", "w", stdout);
#endif
ios::sync_with_stdio(0);
cin.tie(0);
int n, ans = 0;
cin >> n;
vi a(n), id(n);
vp b(n);
for (int i = 0; i < n; i++) cin >> a[i], b[i] = { a[i], i };
sort(b.begin(), b.end());
int mx = 0, tot = 0;
for (int i = n - 1, j = n - 1; i >= 0; i = j) {
while (b[i].first == b[j].first && j >= 0) j--;
for (int k = i; k > j; k--) {
int p = b[k].second;
if (p - 1 >= 0 && id[p - 1]) {
id[p] = id[p - 1];
mp[id[p]].second++;
}
if (p + 1 < n && id[p + 1]) {
if (id[p]) {
mp[id[p]].second = mp[id[p + 1]].second;
mp.erase(id[p + 1]);
id[mp[id[p]].second] = id[p];
} else {
id[p] = id[p + 1];
mp[id[p]].first--;
}
}
if (!id[p]) {
id[p] = ++tot;
mp[id[p]] = { p, p };
}
mx = max(mx, calc(id[p]));
}
ans = max(ans, mx * b[i].first);
}
cout << ans << '\n';
return 0;
}
8192
60522 14575 36426 79445 48772 90081 33447 90629 3497 47202 7775 94325 63982 4784 68417 2156 319
<48151 bytes omitted>
用户输出
901408
系统信息
Exited with return code 0
8191
85925 39836 63225 34999 22439 10902 3198 53774 26740 40447 83006 28518 67297 37973 86792 80230
<48192 bytes omitted>
用户输出
1201200
系统信息
Exited with return code 0
10000
68547 24256 53097 1352 49208 27787 55371 32853 50232 66335 14396 91997 93687 85044 21626 16751
<58788 bytes omitted>
用户输出
823277
系统信息
Exited with return code 0
8192
94564 65283 16004 30238 9987 91514 57736 52928 65520 45505 31845 84075 14031 61374 85994 25599
<48080 bytes omitted>
用户输出
928620
系统信息
Exited with return code 0
8191
59453 639 55985 4685 57316 93757 24797 65975 53785 38796 92578 82666 31328 57969 19952 71686 59
<48171 bytes omitted>
用户输出
983232
系统信息
Exited with return code 0
10000
79719 33046 3578 77246 51964 1670 78656 10898 70510 32707 30807 65248 39849 60178 97957 3125 8
<58852 bytes omitted>
用户输出
997808
系统信息
Exited with return code 0