Submission #1198652

#TimeUsernameProblemLanguageResultExecution timeMemory
1198652dostsToy Train (IOI17_train)C++20
5 / 100
3 ms840 KiB
#include "train.h"
#include <bits/stdc++.h>
#define int long long
#define pii pair<int,int> 
#define vi vector<int>
#define ff first
#define ss second
#define sp << " " << 
#define all(x) x.begin(),x.end()
using namespace std;
vi ans,go,chk;
vector<vi> edges,egdes;


std::vector<int32_t> who_wins(std::vector<int32_t> a, std::vector<int32_t> r, std::vector<int32_t> u, std::vector<int32_t> v) {
	int n = a.size();
	vector<int32_t> res(n);
	vi self(n,0),nxt(n,0);
	for (int i = 0;i<u.size();i++) {
		if (u[i] == v[i]) self[u[i]] = 1;
		else {
			nxt[u[i]] = 1;
		}
	}

	for (int i=n-1;i>=0;i--) {
		if (a[i] == 0) {
			//adam kontrol ediyo
			if (r[i]) {
				if (nxt[i]) res[i] = res[i+1];
				else res[i] = 1;
			}
			else {
				if (self[i]) res[i] = 0;
				else res[i] = res[i+1];
			}
		}
		else {
			if (r[i]) {
				if (self[i]) res[i] = 1;
				else res[i] = res[i+1];
			}
			else {
				if (nxt[i]) res[i] = res[i+1];
				else res[i] = 0;
			}
		}
	}
	return res;
}
#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...