Submission #1040323

#TimeUsernameProblemLanguageResultExecution timeMemory
1040323vjudge1Hedgehog Daniyar and Algorithms (IZhO19_sortbooks)C++17
8 / 100
3086 ms20292 KiB
#include <bits/stdc++.h>
using namespace std;
vector<int> a(1000005);
bool check(int l, int r, int w)
{
    vector<int> b(a.begin() + l - 1, a.begin() + r);
    int n = b.size();
    bool res = true;
    while (res)
    {
        res = false;
        for (int i = 0; i < n - 1; ++i)
        {
            if (b[i] > b[i + 1] && b[i] + b[i + 1] <= w)
            {
                swap(b[i], b[i + 1]);
                res = true;
            }
        }
    }
    for (int i = 1; i < n; ++i)
    {
        if (b[i] < b[i - 1])
        {
            return false;
        }
    }
    return true;
}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    int n, m;
    cin >> n >> m;
    for (int i = 0; i < n; ++i)
    {
        cin >> a[i];
    }

    for (int i = 0; i < m; ++i)
    {
        int l, r, w;
        cin >> l >> r >> w;
        if (check(l, r, w))
        {
            cout << 1 << '\n';
        }
        else
        {
            cout << 0 << '\n';
        }
    }

    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...