# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
95841 | diamond_duke | Cultivation (JOI17_cultivation) | C++11 | 1257 ms | 1144 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <algorithm>
#include <cstdio>
using ll = long long;
std::pair<ll, int> imp[605];
struct motonic_queue
{
int que[605], *arr, he, ta;
motonic_queue(int *_arr) : arr(_arr), he(0), ta(-1) {}
inline void pop(int pos)
{
while (he <= ta && que[he] < pos)
he++;
}
inline void push(int pos)
{
while (he <= ta && arr[imp[pos].second] >= arr[imp[que[ta]].second])
ta--;
que[++ta] = pos;
}
inline ll front() { return arr[imp[que[he]].second]; }
};
struct point { ll x, y; } arr[305];
int idx[305], lp[305], rp[305], H, W, n, cnt;
int sum[200005], A[605], B[605], C[605];
bool vis[605][305];
inline void add(int x, int y)
{
vis[x][y] = true;
int lst = -1;
A[x] = B[x] = C[x] = 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... |