Submission #113479

#TimeUsernameProblemLanguageResultExecution timeMemory
113479E869120Toy Train (IOI17_train)C++14
0 / 100
31 ms1792 KiB
#include "train.h"
#include <bits/stdc++.h>
using namespace std;

int N, M;
int A[5009], R[5009], U[2009], V[20009];
bool u1[5009], u2[5009];

vector<int> solve_subtask1() {
	for (int i = 0; i < M; i++) {
		if (V[i] - U[i] == 0) u1[U[i]] = true;
		if (V[i] - U[i] == 1) u2[U[i]] = true;
	}
	vector<int>ans;
	for (int i = 0; i < N; i++) {
		bool arezou = false;
		for (int j = i; j < N; j++) {
			if (u1[j] == true && A[j] == 1 && R[j] == 1) { arezou = true; break; }
			if (u1[j] == true && A[j] == 0 && R[j] == 0) { break; }
			if (u2[j] == false) break;
		}
		ans.push_back((int)arezou);
	}
	return ans;
}

vector<int> who_wins(vector<int> a, vector<int> r, vector<int> u, vector<int> v) {
	N = a.size(); M = u.size();
	for (int i = 0; i < N; i++) { A[i] = a[i]; R[i] = r[i]; }
	for (int i = 0; i < M; i++) { U[i] = u[i]; V[i] = v[i]; }
	
	return solve_subtask1();
}
#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...