답안 #305753

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
305753 2020-09-23T22:42:04 Z sofapuden 꿈 (IOI13_dreaming) C++14
32 / 100
84 ms 15092 KB
#include "dreaming.h"
#include <bits/stdc++.h>
 
using namespace std;
vector<vector<pair<int,int>>> gri;
vector<int> dis;
vector<int> dep;
vector<int> used;
int jic = 0;
int ans = 0;
int y;
 
int dfs2(int x, int p, int d){
	int bes = 0;
	int bes2 = 0;
	for(int i = 0; i < gri[x].size(); ++i){
		if(gri[x][i].first == p)continue;
		int cur = dfs2(gri[x][i].first, x, d+gri[x][i].second);
		if(bes < cur)swap(cur, bes);
		if(bes2 < cur)swap(cur, bes2);
	}
	ans = max(ans, max(bes+bes2-2*d, d));
	return max(d, bes);
	
}
int dfs(int x, int p){
	used[x] = 1;
	int s = 0;
	for(int i = 0; i < (int)gri[x].size(); ++i){
		int z = 0;
		if(gri[x][i].first != p)z = dfs(gri[x][i].first,x)+gri[x][i].second;
		dep.push_back(z);
		s+=z;
	}
	return s;
}
void find(int ind){
	if(!gri[ind].size()){dis.push_back(0);return;}
	dep.clear();
	y = dfs(ind,ind);
	int lll = dfs2(ind,ind,0);
	jic = max(jic,lll);
	int best = INT_MAX;
	for(int i = 0; i < (int)dep.size(); ++i){
		best = min(best, max(y-dep[i],dep[i]));
	}
	dis.push_back(best);	
}
 
int travelTime(int N, int M, int L, int A[], int B[], int T[]) {
	if(N == 1)return 0;
	if(N == 2)return (M ? T[0] : L);
	used.resize(N,0);
	gri.resize(N);
	for(int i = 0; i < M; ++i){
		gri[A[i]].push_back({B[i],T[i]});
		gri[B[i]].push_back({A[i],T[i]});
	}
	for(int i = 0; i < N; ++i){
		if(!used[i] && gri[i].size() <= 1){
			find(i);
		}
	}
	sort(dis.rbegin(),dis.rend());
	if(dis.size() >= 3){
		return max(jic,max(dis[0]+L+dis[1],dis[1]+dis[2]+2*L));
	}
	if(dis.size() == 2){
		return max(jic,dis[0]+L+dis[1]);
	}
	return jic;
}

Compilation message

dreaming.cpp: In function 'int dfs2(int, int, int)':
dreaming.cpp:16:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   16 |  for(int i = 0; i < gri[x].size(); ++i){
      |                 ~~^~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 64 ms 15092 KB Output is correct
2 Correct 62 ms 14964 KB Output is correct
3 Correct 42 ms 9852 KB Output is correct
4 Correct 10 ms 2560 KB Output is correct
5 Correct 7 ms 1536 KB Output is correct
6 Correct 15 ms 3712 KB Output is correct
7 Correct 1 ms 384 KB Output is correct
8 Correct 29 ms 5376 KB Output is correct
9 Correct 38 ms 7672 KB Output is correct
10 Correct 1 ms 384 KB Output is correct
11 Correct 71 ms 9720 KB Output is correct
12 Correct 84 ms 12528 KB Output is correct
13 Correct 1 ms 384 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 64 ms 15092 KB Output is correct
2 Correct 62 ms 14964 KB Output is correct
3 Correct 42 ms 9852 KB Output is correct
4 Correct 10 ms 2560 KB Output is correct
5 Correct 7 ms 1536 KB Output is correct
6 Correct 15 ms 3712 KB Output is correct
7 Correct 1 ms 384 KB Output is correct
8 Correct 29 ms 5376 KB Output is correct
9 Correct 38 ms 7672 KB Output is correct
10 Correct 1 ms 384 KB Output is correct
11 Correct 71 ms 9720 KB Output is correct
12 Correct 84 ms 12528 KB Output is correct
13 Correct 1 ms 384 KB Output is correct
14 Incorrect 1 ms 384 KB Output isn't correct
15 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 64 ms 15092 KB Output is correct
2 Correct 62 ms 14964 KB Output is correct
3 Correct 42 ms 9852 KB Output is correct
4 Correct 10 ms 2560 KB Output is correct
5 Correct 7 ms 1536 KB Output is correct
6 Correct 15 ms 3712 KB Output is correct
7 Correct 1 ms 384 KB Output is correct
8 Correct 29 ms 5376 KB Output is correct
9 Correct 38 ms 7672 KB Output is correct
10 Correct 1 ms 384 KB Output is correct
11 Correct 71 ms 9720 KB Output is correct
12 Correct 84 ms 12528 KB Output is correct
13 Correct 1 ms 384 KB Output is correct
14 Incorrect 1 ms 384 KB Output isn't correct
15 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 26 ms 5632 KB Output is correct
2 Correct 34 ms 5632 KB Output is correct
3 Correct 31 ms 5632 KB Output is correct
4 Correct 28 ms 5632 KB Output is correct
5 Correct 29 ms 5624 KB Output is correct
6 Correct 29 ms 6136 KB Output is correct
7 Correct 28 ms 5884 KB Output is correct
8 Correct 26 ms 5504 KB Output is correct
9 Correct 25 ms 5496 KB Output is correct
10 Correct 28 ms 5760 KB Output is correct
11 Correct 0 ms 384 KB Output is correct
12 Correct 5 ms 3708 KB Output is correct
13 Correct 5 ms 3708 KB Output is correct
14 Correct 5 ms 3708 KB Output is correct
15 Correct 5 ms 3708 KB Output is correct
16 Correct 5 ms 3708 KB Output is correct
17 Correct 5 ms 3708 KB Output is correct
18 Correct 5 ms 3836 KB Output is correct
19 Correct 5 ms 3708 KB Output is correct
20 Correct 1 ms 256 KB Output is correct
21 Correct 0 ms 384 KB Output is correct
22 Correct 1 ms 384 KB Output is correct
23 Correct 5 ms 3708 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 64 ms 15092 KB Output is correct
2 Correct 62 ms 14964 KB Output is correct
3 Correct 42 ms 9852 KB Output is correct
4 Correct 10 ms 2560 KB Output is correct
5 Correct 7 ms 1536 KB Output is correct
6 Correct 15 ms 3712 KB Output is correct
7 Correct 1 ms 384 KB Output is correct
8 Correct 29 ms 5376 KB Output is correct
9 Correct 38 ms 7672 KB Output is correct
10 Correct 1 ms 384 KB Output is correct
11 Correct 71 ms 9720 KB Output is correct
12 Correct 84 ms 12528 KB Output is correct
13 Correct 1 ms 384 KB Output is correct
14 Incorrect 1 ms 384 KB Output isn't correct
15 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 64 ms 15092 KB Output is correct
2 Correct 62 ms 14964 KB Output is correct
3 Correct 42 ms 9852 KB Output is correct
4 Correct 10 ms 2560 KB Output is correct
5 Correct 7 ms 1536 KB Output is correct
6 Correct 15 ms 3712 KB Output is correct
7 Correct 1 ms 384 KB Output is correct
8 Correct 29 ms 5376 KB Output is correct
9 Correct 38 ms 7672 KB Output is correct
10 Correct 1 ms 384 KB Output is correct
11 Correct 71 ms 9720 KB Output is correct
12 Correct 84 ms 12528 KB Output is correct
13 Correct 1 ms 384 KB Output is correct
14 Incorrect 1 ms 384 KB Output isn't correct
15 Halted 0 ms 0 KB -