답안 #448349

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
448349 2021-07-29T18:55:28 Z mosiashvililuka 던전 (IOI21_dungeons) C++17
63 / 100
2224 ms 991432 KB
#include<bits/stdc++.h>
#include "dungeons.h"
using namespace std;
const int N=50009;
int msh[N][26][26];
long long a,b,c,d,e,i,j,k,ii,jj,zx,xc,S[N],P[N],W[N],L[N],dis[N][26][26],mn[N][26][26],z;
void init(int Nn, std::vector<int> Ss, std::vector<int> Pp, std::vector<int> Ww, std::vector<int> Ll) {
	a=Nn;
	for(i=0; i<a; i++){
		S[i+1]=Ss[i];P[i+1]=Pp[i];W[i+1]=Ww[i]+1;L[i+1]=Ll[i]+1;
	}
	for(i=1; i<=a; i++){
		for(k=0; k<=24; k++){
			if(S[i]<(1<<k)){
				msh[i][0][k]=W[i];
				dis[i][0][k]=S[i];
				mn[i][0][k]=99999999999999999LL;
			}else{
				msh[i][0][k]=L[i];
				dis[i][0][k]=P[i];
				mn[i][0][k]=S[i];
			}
		}
	}
	for(j=1; j<=24; j++){
		for(i=1; i<=a; i++){
			for(k=0; k<=24; k++){
				msh[i][j][k]=msh[msh[i][j-1][k]][j-1][k];
				dis[i][j][k]=dis[i][j-1][k]+dis[msh[i][j-1][k]][j-1][k];
				mn[i][j][k]=min(mn[i][j-1][k],mn[msh[i][j-1][k]][j-1][k]-dis[i][j-1][k]);
			}
		}
	}
	return;
}

long long simulate(int Xx, int Zz) {
	c=Xx+1;z=Zz;
	while(c!=a+1){
	
	for(k=24; k>=0; k--){
		if(z>=(1<<k)){
			break;
		}
	}
	for(j=24; j>=0; j--){
		
		if(msh[c][j][k]==0) continue;
		if(mn[c][j][k]>z){
			z+=dis[c][j][k];c=msh[c][j][k];
		}else{
			
		}
	}
	if(c==a+1) break;
	if(z>=S[c]){
		z+=S[c];c=W[c];
	}else{
		z+=P[c];c=L[c];
	}
	
	}
	return z;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 332 KB Output is correct
2 Correct 1 ms 460 KB Output is correct
3 Correct 24 ms 26960 KB Output is correct
4 Correct 1360 ms 666000 KB Output is correct
5 Correct 30 ms 26932 KB Output is correct
6 Correct 1085 ms 665796 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 15 ms 13644 KB Output is correct
2 Runtime error 1255 ms 991432 KB Execution killed with signal 11
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 12 ms 13680 KB Output is correct
2 Correct 941 ms 667280 KB Output is correct
3 Correct 923 ms 667560 KB Output is correct
4 Correct 913 ms 666812 KB Output is correct
5 Correct 891 ms 666680 KB Output is correct
6 Correct 945 ms 666960 KB Output is correct
7 Correct 925 ms 666892 KB Output is correct
8 Correct 892 ms 666680 KB Output is correct
9 Correct 941 ms 666664 KB Output is correct
10 Correct 877 ms 666564 KB Output is correct
11 Correct 1051 ms 666856 KB Output is correct
12 Correct 1273 ms 667100 KB Output is correct
13 Correct 1041 ms 666936 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 12 ms 13680 KB Output is correct
2 Correct 941 ms 667280 KB Output is correct
3 Correct 923 ms 667560 KB Output is correct
4 Correct 913 ms 666812 KB Output is correct
5 Correct 891 ms 666680 KB Output is correct
6 Correct 945 ms 666960 KB Output is correct
7 Correct 925 ms 666892 KB Output is correct
8 Correct 892 ms 666680 KB Output is correct
9 Correct 941 ms 666664 KB Output is correct
10 Correct 877 ms 666564 KB Output is correct
11 Correct 1051 ms 666856 KB Output is correct
12 Correct 1273 ms 667100 KB Output is correct
13 Correct 1041 ms 666936 KB Output is correct
14 Correct 12 ms 13644 KB Output is correct
15 Correct 988 ms 667056 KB Output is correct
16 Correct 1092 ms 667304 KB Output is correct
17 Correct 957 ms 666792 KB Output is correct
18 Correct 936 ms 666788 KB Output is correct
19 Correct 1008 ms 666928 KB Output is correct
20 Correct 915 ms 666728 KB Output is correct
21 Correct 942 ms 666804 KB Output is correct
22 Correct 882 ms 666804 KB Output is correct
23 Correct 1096 ms 666936 KB Output is correct
24 Correct 1315 ms 666864 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 12 ms 13680 KB Output is correct
2 Correct 941 ms 667280 KB Output is correct
3 Correct 923 ms 667560 KB Output is correct
4 Correct 913 ms 666812 KB Output is correct
5 Correct 891 ms 666680 KB Output is correct
6 Correct 945 ms 666960 KB Output is correct
7 Correct 925 ms 666892 KB Output is correct
8 Correct 892 ms 666680 KB Output is correct
9 Correct 941 ms 666664 KB Output is correct
10 Correct 877 ms 666564 KB Output is correct
11 Correct 1051 ms 666856 KB Output is correct
12 Correct 1273 ms 667100 KB Output is correct
13 Correct 1041 ms 666936 KB Output is correct
14 Correct 12 ms 13644 KB Output is correct
15 Correct 988 ms 667056 KB Output is correct
16 Correct 1092 ms 667304 KB Output is correct
17 Correct 957 ms 666792 KB Output is correct
18 Correct 936 ms 666788 KB Output is correct
19 Correct 1008 ms 666928 KB Output is correct
20 Correct 915 ms 666728 KB Output is correct
21 Correct 942 ms 666804 KB Output is correct
22 Correct 882 ms 666804 KB Output is correct
23 Correct 1096 ms 666936 KB Output is correct
24 Correct 1315 ms 666864 KB Output is correct
25 Correct 1115 ms 666252 KB Output is correct
26 Correct 1210 ms 667272 KB Output is correct
27 Correct 1046 ms 666704 KB Output is correct
28 Correct 989 ms 666796 KB Output is correct
29 Correct 1118 ms 667188 KB Output is correct
30 Correct 1130 ms 666932 KB Output is correct
31 Correct 1175 ms 666680 KB Output is correct
32 Correct 1540 ms 666692 KB Output is correct
33 Correct 1473 ms 666652 KB Output is correct
34 Correct 2224 ms 666528 KB Output is correct
35 Correct 1393 ms 666816 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 15 ms 13644 KB Output is correct
2 Runtime error 1255 ms 991432 KB Execution killed with signal 11
3 Halted 0 ms 0 KB -