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 <iostream>
#include<map>
using namespace std;
class mem
{
public:
int maxCombination = 0;
};
const int maxN = 1000005;
int arr[maxN];
map<pair<int, int>, int> memorisation;
int solve(int start, int finish, int mood)
{
int maxNum = arr[start - 1];
int memory = memorisation[make_pair(start, finish)];
if (memory != 0)
{
if (memory > mood)
{
return false;
}
else
{
return true;
}
}
for (int i = start; i < finish; i++)
{
if (maxNum > arr[i])
{
if (arr[i] + maxNum > mood)
{
return false;
}
}
else
{
maxNum = arr[i];
}
}
return true;
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int n, m;
cin >> n >> m;
for (int i = 0; i < n; i++)
{
cin >> arr[i];
}
for (int i = 0; i < m; i++)
{
int start, finish, mood;
cin >> start >> finish >> mood;
cout << solve(start, finish, mood)<<endl;
}
}
/*
5 2
3 5 1 8 2
1 3 6
2 5 3
*/
# | 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... |