답안 #795437

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
795437 2023-07-27T09:34:58 Z fatemetmhr 장난감 기차 (IOI17_train) C++17
23 / 100
81 ms 25044 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];
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];
		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];
	 	}
 	}

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















# 결과 실행 시간 메모리 Grader output
1 Incorrect 18 ms 24484 KB 3rd lines differ - on the 1st token, expected: '0', found: '1'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 12 ms 23764 KB 3rd lines differ - on the 8th token, expected: '0', found: '1'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 41 ms 24960 KB Output is correct
2 Correct 59 ms 24912 KB Output is correct
3 Correct 64 ms 24900 KB Output is correct
4 Correct 18 ms 24844 KB Output is correct
5 Correct 21 ms 24780 KB Output is correct
6 Correct 23 ms 24848 KB Output is correct
7 Correct 17 ms 24916 KB Output is correct
8 Correct 17 ms 24836 KB Output is correct
9 Correct 17 ms 24788 KB Output is correct
10 Correct 17 ms 24788 KB Output is correct
11 Correct 17 ms 24788 KB Output is correct
12 Correct 16 ms 24776 KB Output is correct
13 Correct 18 ms 24812 KB Output is correct
14 Correct 20 ms 24904 KB Output is correct
15 Correct 20 ms 25044 KB Output is correct
16 Correct 20 ms 24908 KB Output is correct
17 Correct 18 ms 24844 KB Output is correct
18 Correct 81 ms 24496 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 19 ms 24604 KB 3rd lines differ - on the 696th token, expected: '0', found: '1'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 17 ms 24880 KB Output is correct
2 Correct 17 ms 24836 KB Output is correct
3 Correct 19 ms 24916 KB Output is correct
4 Correct 18 ms 24716 KB Output is correct
5 Correct 13 ms 23772 KB Output is correct
6 Correct 15 ms 24408 KB Output is correct
7 Correct 15 ms 24404 KB Output is correct
8 Correct 16 ms 24456 KB Output is correct
9 Correct 16 ms 24524 KB Output is correct
10 Correct 13 ms 24020 KB Output is correct
11 Correct 15 ms 24432 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 18 ms 24484 KB 3rd lines differ - on the 1st token, expected: '0', found: '1'
2 Halted 0 ms 0 KB -