답안 #795438

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
795438 2023-07-27T09:36:42 Z fatemetmhr 장난감 기차 (IOI17_train) C++17
23 / 100
86 ms 24800 KB
//  ~ Be Name Khoda ~  //
 
#include "train.h"
#include <bits/stdc++.h>
//#pragma GCC optimize ("O3")
//#pragma GCC target("avx2")
//#pragma GCC optimize("unroll-loops,Ofast")
 
using namespace std;
 
typedef long long ll;
 
#define pb       push_back
#define mp       make_pair
#define all(x)   x.begin(), x.end()
#define fi       first
#define se       second
 
const int maxn  =  1e6   + 10;
const int maxn5 =  5e5   + 10;
const int maxnt =  1.2e6 + 10;
const int maxn3 =  1e3   + 10;
const int mod   =  1e9   + 7;
const ll  inf   =  1e18;
 
int cnt[maxn5], q[maxn5], cntkeep[maxn5];
vector <int> adj[maxn5], jda[maxn5], ret;
bool mark[maxn5], good[maxn5], keep[maxn5];
int n, m;
 
std::vector<int> who_wins(std::vector<int> a, std::vector<int> ch, std::vector<int> u, std::vector<int> v) {
	n = a.size(); 
	m = u.size();
 	for(int i = 0; i < m; i++){
 		adj[u[i]].pb(v[i]);
 		jda[v[i]].pb(u[i]);
 		cnt[u[i]]++;
 	}
 	while(true){
	 	int x = -1;
		for(int i = 0; i < n; i++){
			keep[i] = good[i];
			cntkeep[i] = cnt[i];
		}
		for(int i = 0; i < n; i++) if(!good[i] && ch[i])
			x = i;
		if(x == -1)
			break;
	 	int l = 0, r = 0;
	 	for(auto u : jda[x]) if(!good[u]){
	 		if(a[u]){
	 			q[r++] = u;
	 			good[u] = true;
	 		}
	 		else if(cnt[u] > 1)
	 			cnt[u]--;
	 		else{
	 			q[r++] = u;
	 			good[u] = true;
	 		}
	 	}
	 	while(l < r){
	 		int v = q[l++];
		 	for(auto u : jda[v]) if(!good[u]){
		 		if(a[u]){
		 			q[r++] = u;
		 			good[u] = true;
		 		}
		 		else if(cnt[u] > 1)
		 			cnt[u]--;
		 		else{
		 			q[r++] = u;
		 			good[u] = true;
		 		}
		 	}
	 	}
	 	if(!good[x]){
	 		ch[x] = false;
	 		for(int i = 0; i < n; i++){
	 			good[i] = keep[i];
	 			cnt[i] = cntkeep[i];
	 		}
	 	}
 	}

	for(int i = 0; i < n; i++)
		ret.pb(good[i]);
 	return ret;
}















# 결과 실행 시간 메모리 Grader output
1 Incorrect 26 ms 24404 KB 3rd lines differ - on the 22nd token, expected: '0', found: '1'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 11 ms 23700 KB 3rd lines differ - on the 2nd token, expected: '1', found: '0'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 43 ms 24736 KB Output is correct
2 Correct 59 ms 24728 KB Output is correct
3 Correct 67 ms 24704 KB Output is correct
4 Correct 17 ms 24660 KB Output is correct
5 Correct 21 ms 24660 KB Output is correct
6 Correct 24 ms 24668 KB Output is correct
7 Correct 17 ms 24744 KB Output is correct
8 Correct 21 ms 24740 KB Output is correct
9 Correct 16 ms 24680 KB Output is correct
10 Correct 16 ms 24708 KB Output is correct
11 Correct 16 ms 24660 KB Output is correct
12 Correct 17 ms 24612 KB Output is correct
13 Correct 17 ms 24640 KB Output is correct
14 Correct 17 ms 24632 KB Output is correct
15 Correct 16 ms 24724 KB Output is correct
16 Correct 17 ms 24632 KB Output is correct
17 Correct 16 ms 24660 KB Output is correct
18 Correct 86 ms 24468 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 34 ms 24500 KB 3rd lines differ - on the 1st token, expected: '1', found: '0'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 17 ms 24636 KB Output is correct
2 Correct 18 ms 24668 KB Output is correct
3 Correct 18 ms 24800 KB Output is correct
4 Correct 17 ms 24612 KB Output is correct
5 Correct 12 ms 23816 KB Output is correct
6 Correct 14 ms 24276 KB Output is correct
7 Correct 15 ms 24276 KB Output is correct
8 Correct 16 ms 24336 KB Output is correct
9 Correct 16 ms 24404 KB Output is correct
10 Correct 12 ms 23892 KB Output is correct
11 Correct 15 ms 24276 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 26 ms 24404 KB 3rd lines differ - on the 22nd token, expected: '0', found: '1'
2 Halted 0 ms 0 KB -