답안 #425822

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
425822 2021-06-13T11:42:53 Z Blistering_Barnacles 장난감 기차 (IOI17_train) C++11
10 / 100
2000 ms 14260 KB
#include "train.h"
//apig's property
//Happiness can be found, even in the darkest of times, if one only remembers to turn on the light
//El Pueblo Unido Jamas Sera Vencido
//The saddest thing about betrayal? is that it never comes from your enemies
//Do or do not... there is no try
//Billions of bilious blue blistering barnacles in a thundering typhoon!
#include<bits/stdc++.h>
#define fast ios_base::sync_with_stdio(0) , cin.tie(0) , cout.tie(0)
#define F first
#define S second
#define pb push_back
#define vll vector< ll >
#define vi vector< int >
#define pll pair< ll , ll >
#define pi pair< int , int >
#define all(s) s.begin() , s.end()
#define sz(s) s.size()
#define str string
#define md ((s + e) / 2)
#define mid ((l + r) / 2)
#define msdp(dp) memset(dp , -1 , sizeof dp)
#define mscl(dp) memset(dp , 0 , sizeof dp)
#define C continue
#define R return
#define B break
#define lx node * 2
#define rx node * 2 + 1
#define br(o) o ; break
#define co(o) o ; continue
using namespace std;
typedef int ll;
ll q, dp[100005], a[555555] , b[555555], k, l, m, n, o, p;
map < ll , ll > mp;
vll adj[555555];
const ll mod = 1e9+7;
str s;
vi o1 , o2 ;
vll cur ;
ll vis[555555] , nxt[555555] ;
vll charging , whom;
vi ans ;
ll mem(ll i , ll cnt){
    if(charging[i])cnt = n ;
    if(!cnt)R 0 ;
    if(nxt[i] != -1){
        if(charging[i])R 1 ;
        R mem(nxt[i] , cnt - 1) ;
    }
    ll ret = !whom[i] ;
    for(auto u : adj[i]){
        nxt[i] = u ;
        ll op = mem(u , cnt - 1) ;
        if(!whom[i])ret &= op ;
        else ret |= op ;
        nxt[i] = -1 ;
    }
    R ret ;
}
vector<int> who_wins(std::vector<int> who, std::vector<int> charge, std::vector<int> u, std::vector<int> v) {
    n = sz(who) , m = sz(u) ;
    for(ll i = 0 ; i < m ; i++){
        adj[u[i]].pb(v[i]) ;
    }
    charging = charge ;
    whom = who ;
    for(ll i = 0 ; i < n ; i++){
        for(ll i = 0 ; i < n ; i++)nxt[i] = -1 ;
        ans.pb(mem(i , n)) ;
    }
    R ans ;
}
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 2074 ms 14028 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 9 ms 13356 KB Output is correct
2 Correct 10 ms 13324 KB Output is correct
3 Correct 8 ms 13260 KB Output is correct
4 Correct 264 ms 13332 KB Output is correct
5 Correct 10 ms 13260 KB Output is correct
6 Correct 10 ms 13284 KB Output is correct
7 Correct 10 ms 13260 KB Output is correct
8 Correct 18 ms 13348 KB Output is correct
9 Correct 98 ms 13328 KB Output is correct
10 Correct 9 ms 13260 KB Output is correct
11 Correct 65 ms 13380 KB Output is correct
12 Correct 10 ms 13260 KB Output is correct
13 Correct 10 ms 13260 KB Output is correct
14 Correct 11 ms 13260 KB Output is correct
15 Correct 9 ms 13328 KB Output is correct
16 Correct 10 ms 13260 KB Output is correct
17 Correct 10 ms 13348 KB Output is correct
18 Correct 9 ms 13260 KB Output is correct
19 Correct 8 ms 13260 KB Output is correct
20 Correct 8 ms 13260 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 2053 ms 13936 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 2076 ms 14020 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 2052 ms 14260 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 2074 ms 14028 KB Time limit exceeded
2 Halted 0 ms 0 KB -