Submission #406858

#TimeUsernameProblemLanguageResultExecution timeMemory
4068588e7Toy Train (IOI17_train)C++14
5 / 100
31 ms56472 KiB
#include "train.h"

//Challenge: Accepted
#include <iostream>
#include <algorithm>
#include <vector>
#include <utility>
#define ll long long
#define maxn 5005
#define pii pair<int, int>
#define ff first
#define ss second
#define io ios_base::sync_with_stdio(0);cin.tie(0);
using namespace std;
int dp[1<<16][16], adj[maxn][maxn];
std::vector<int> who_wins(std::vector<int> a, std::vector<int> r, std::vector<int> u, std::vector<int> v) {
	int n = a.size(), m = u.size();
	for (int i = 0;i < m;i++) {
		adj[u[i]][v[i]] = 1;
	}
	vector<int> ret;
	for (int i = 0;i < n;i++) {
		int cur = i;
		bool res = 0;
		while (true) {
			if (a[cur] == 1) {
				if (r[cur] == 1 && adj[cur][cur]) {
					res = 1;
					break;
				} else if (adj[cur][cur + 1]){
					cur++;
				} else {
					res = 0;
					break;
				}
			} else {
				if (r[cur] == 0 && adj[cur][cur]) {
					res = 0;
					break;
				} else if (adj[cur][cur + 1]) {
					cur++;
				} else {
					res = 1;
					break;
				}
			}
		}
		ret.push_back(res ? 1 : 0);
	}
	return ret;
}
#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...