| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1294067 | thuhienne | Lightning Conductor (POI11_pio) | C++20 | 317 ms | 17400 KiB |
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define re exit(0);
#define thuhien ""
int n,h[500009];
namespace sub1 {
bool check() {
return n <= 5000;
}
void solve() {
for (int i = 1;i <= n;i++) {
int res = 0;
for (int j = 1;j <= n;j++) {
res = max(res,h[j] - h[i] + (int)ceil( sqrt( abs(i - j) ) ));
}
cout << res << '\n';
}
}
}
namespace sub2 {
bool check() {
return n <= 200000;
}
const int LOG = 18;
int sparse[200009][LOG + 1];
int getmax(int l,int r) {
l = max(l,1),r = min(r,n);
if (l > r) return -1e9;
int i = __lg(r - l + 1);
return max(sparse[l][i],sparse[r - (1 << i) + 1][i]);
}
void solve() {
for (int i = 1;i <= n;i++) sparse[i][0] = h[i];
for (int j = 1;j <= LOG;j++) {
for (int i = 1;i + (1 << j) - 1 <= n;i++) {
sparse[i][j] = max(sparse[i][j - 1],sparse[i + (1 << (j - 1))][j - 1]);
}
}
for (int i = 1;i <= n;i++) {
int res = 0;
for (int can = 1;(can - 1) * (can - 1) <= n;can++) {
int l = (can - 1) * (can - 1) + 1,r = can * can;
res = max(res,max(getmax(i - r,i - l),getmax(i + l,i + r)) - h[i] + can);
}
cout << res << '\n';
}
}
}
int main() {
ios_base::sync_with_stdio(0);cin.tie(nullptr);
if (fopen(thuhien".inp","r")) {
freopen(thuhien".inp","r",stdin);
freopen(thuhien".out","w",stdout);
}
cin >> n;
for (int i = 1;i <= n;i++) cin >> h[i];
if (sub1::check()) {
sub1::solve();
return 0;
}
// if (sub2::check()) {
sub2::solve();
return 0;
// }
}
Compilation message (stderr)
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
