제출 #495470

#제출 시각아이디문제언어결과실행 시간메모리
495470AmerHedgehog Daniyar and Algorithms (IZhO19_sortbooks)C++14
34 / 100
3099 ms69028 KiB
#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 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...