답안 #425669

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
425669 2021-06-13T09:58:28 Z Blistering_Barnacles 장난감 기차 (IOI17_train) C++11
5 / 100
17 ms 15052 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 long long 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 ;
ll mem(ll i){
    if(i == n)R 0 ;
    ll &r = dp[i] ;
    if(r != -1)R r ;
    if(o1[i]){
        if(o2[i]){
            if(b[i] & (1 << 1))r = 1 ;
            else r = mem(i + 1) ;
        }
        else {
            if(b[i] & (1 << 0))R r = mem(i + 1) ;
            r = 0 ;
        }
    }
    else {
        if(o2[i]){
            if(b[i] & (1 << 0))r = mem(i + 1) ;
            else r = 1 ;
        }
        else {
            if(b[i] & (1 << 1))r = 0 ;
            else r = mem(i + 1) ;
        }
    }
    R r ;
}
vector<int> who_wins(std::vector<int> a, std::vector<int> r, std::vector<int> u, std::vector<int> v) {
	o1 = a , o2 = r ;
	msdp(dp) ;
	vi ans ;
	n = sz(a) ;
	m = sz(u) ;
	for(ll i = 0 ; i < m ; i++){
        ll op = (u[i] == v[i]) ;
        b[u[i]] |= (1 << (op)) ;
	}
	for(ll i = 0 ; i < n ; i++){
        ans.pb(mem(i)) ;
	}
	R ans ;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 13 ms 14412 KB Output is correct
2 Correct 15 ms 14540 KB Output is correct
3 Correct 13 ms 14540 KB Output is correct
4 Correct 13 ms 14512 KB Output is correct
5 Correct 15 ms 14512 KB Output is correct
6 Correct 14 ms 14508 KB Output is correct
7 Correct 13 ms 14528 KB Output is correct
8 Correct 15 ms 14532 KB Output is correct
9 Correct 13 ms 14412 KB Output is correct
10 Correct 12 ms 14512 KB Output is correct
11 Correct 14 ms 14396 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 12 ms 14028 KB 3rd lines differ - on the 2nd token, expected: '1', found: '0'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 17 ms 15052 KB Output is correct
2 Correct 16 ms 14908 KB Output is correct
3 Correct 16 ms 14924 KB Output is correct
4 Incorrect 15 ms 14992 KB 3rd lines differ - on the 1st token, expected: '1', found: '0'
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 16 ms 14768 KB 3rd lines differ - on the 1st token, expected: '1', found: '0'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 15 ms 14924 KB 3rd lines differ - on the 1st token, expected: '1', found: '0'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 13 ms 14412 KB Output is correct
2 Correct 15 ms 14540 KB Output is correct
3 Correct 13 ms 14540 KB Output is correct
4 Correct 13 ms 14512 KB Output is correct
5 Correct 15 ms 14512 KB Output is correct
6 Correct 14 ms 14508 KB Output is correct
7 Correct 13 ms 14528 KB Output is correct
8 Correct 15 ms 14532 KB Output is correct
9 Correct 13 ms 14412 KB Output is correct
10 Correct 12 ms 14512 KB Output is correct
11 Correct 14 ms 14396 KB Output is correct
12 Incorrect 12 ms 14028 KB 3rd lines differ - on the 2nd token, expected: '1', found: '0'
13 Halted 0 ms 0 KB -