Submission #146257

# Submission time Handle Problem Language Result Execution time Memory
146257 2019-08-23T06:42:24 Z Yersh Hedgehog Daniyar and Algorithms (IZhO19_sortbooks) C++14
0 / 100
1344 ms 27196 KB
#include<bits/stdc++.h>
#define NFS ios_base::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);
#define fr first
#define se second
#define th third
#define pb(v) push_back(v)
#define mk(x, y) make_pair(x, y)
#define all(v) v.begin(),v.end()

using namespace std;
typedef long long ll;
const int N = 1e6 + 7;
const ll mod = 1e9 + 7;
string en = "\n";
ll a[N], d[N];
pair <int, int> t[N * 4], ans;

void build(int v, int tl, int tr)
{
    if (tl == tr)
    {
        t[v].fr = a[tl];
        return;
    }
    int tm = (tl + tr) / 2;
    build (v * 2, tl, tm);
    build (v * 2 + 1, tm + 1, tr);
    t[v].fr = t[v * 2].fr;
    t[v].se = max(t[v * 2].se, t[v * 2 + 1].fr);
    if (t[v * 2 + 1].fr >= t[v].fr)
    {
        t[v].se = t[v * 2].se;
    }
}

void get(int u, int tl, int tr, int l, int r)
{
    if (l > tr || r < tl)
    {
        return;
    }
    if (tl >= l && tr <= r)
    {
        if (t[u].fr > ans.fr)
        {
            ans.fr = t[u].fr;
            ans.se = t[u].se;
        }
        else if (t[u].se > ans.se)
        {
            ans.se = t[u].se;
        }
        return;
    }
    int tm = (tl + tr) / 2;
    get(u * 2, tl, tm, l, r);
    get(u * 2 + 1, tm + 1, tr, l, r);
}

int main()
{
    NFS;
    int n, m;
    cin >> n >> m;
    for (int i = 1; i <= n; i ++)
    {
        cin >> a[i];
    }
    build(1, 1, n);
    for (int i = 1; i <= m; i ++)
    {
        int l, r, k;
        cin >> l >> r >> k;
        get(1, 1, n, l, r);
        if (ans.fr + ans.se > k)
        {
            cout << 0 << en;
            continue;
        }
        cout << 1 << en;
        ans.fr = 0;
        ans.se = 0;
    }
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Incorrect 2 ms 376 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Incorrect 2 ms 376 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1344 ms 27196 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 113 ms 3320 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Incorrect 2 ms 376 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Incorrect 2 ms 376 KB Output isn't correct
4 Halted 0 ms 0 KB -