Submission #1299465

#TimeUsernameProblemLanguageResultExecution timeMemory
1299465dimitri.shengelia장애물 (IOI25_obstacles)C++20
0 / 100
52 ms6496 KiB
//#include "obstacles.h"
#include <bits/stdc++.h>
#include <vector>
#include <cassert>
#include <cstdio>

using namespace std;

int n, m;

vector <int> t, h;

bool group1b = false;
vector <int> group1;

bool group2b = false;

bool group3b = false;
vector <int> group31;
vector <int> group32;

void initialize ( vector <int> T, vector <int> H ) {

	n = T.size(), m = H.size();
	t = T, h = H;

	if ( n == 1 ) {

		group1b = true;
		group1.resize( m );

		for ( int i = 0; i < m; i++ ) {

			group1[i] = -1;

			if ( i != 0 ) {

				group1[i] = group1[i - 1];

			}

			if ( t[0] <= h[i] ) {

				group1[i] = i;

			}

		}

	} else if ( t[0] == 2 and t[1] == 1 and t[2] == 3 ) {

		group3b = true;

	} else {

		group2b = true;

	}

	return;

}

bool can_reach ( int l, int r, int s, int d ) {

	if ( group1b == true ) {

		if ( group1[d] < s ) {

			return false;

		} else {

			return true;

		}

	} else if ( group2b == true ) {

		for ( int i = s + 1; i < d; i++ ) {

			if ( h[i] >= t[i] ) {

				return false;

			}

		}

	} else {

        

	}

	return true;

}

/*int main() {
	int N, M;
	assert(2 == scanf("%d %d", &N, &M));
	std::vector<int> T(N), H(M);
	for (int i = 0; i < N; i++)
		assert(1 == scanf("%d", &T[i]));
	for (int i = 0; i < M; i++)
		assert(1 == scanf("%d", &H[i]));

	int Q;
	assert(1 == scanf("%d", &Q));
	std::vector<int> L(Q), R(Q), S(Q), D(Q);
	for (int i = 0; i < Q; i++)
		assert(4 == scanf("%d %d %d %d", &L[i], &R[i], &S[i], &D[i]));

	fclose(stdin);

	std::vector<bool> A(Q);

	initialize(T, H);

	for (int i = 0; i < Q; i++)
		A[i] = can_reach(L[i], R[i], S[i], D[i]);

	for (int i = 0; i < Q; i++)
		if (A[i])
			printf("1\n");
		else
			printf("0\n");
	fclose(stdout);

	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...
#Verdict Execution timeMemoryGrader output
Fetching results...