답안 #840244

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
840244 2023-08-31T08:39:52 Z Lib 봉쇄 시간 (IOI23_closing) C++17
0 / 100
108 ms 29656 KB
#include "closing.h"
#include <bits/stdc++.h>
using namespace std;
//long long U[200003];
//long long V[200003];
//long long W[200003];
int max_score(int N, int X, int Y, long long K, std::vector<int> U, std::vector<int> V, std::vector<int> W)
{
	vector <pair <int,int> > temp;
	int check[200003];
	vector <vector <pair <int,int> > > adj;
	int n=N;
	int x=X;
	int y=Y;
	long long k=K;
	//int n,x,y;
	//long long k;
	//cin>>n;
	//cin>>x>>y>>k;
	for(int i=0;i<=n;i++){
		adj.push_back(temp);
	}
	vector <pair <int, int> > clist;
	vector <long long> dist;
	for(int i=0;i<n-1;i++){
		//cin>>U[i]>>V[i]>>W[i];
		adj[U[i]].push_back({V[i],W[i]});
		adj[V[i]].push_back({U[i],W[i]});
	}
	int cnt=0;
	cnt=0;
	for(int i=0;i<n;i++){
		check[i]=0;
	}
	clist.push_back({x,0});
	dist.push_back(0);
	check[x]=1;
	while(cnt<clist.size()){
		for(int i=0;i<adj[clist[cnt].first].size();i++){
			if(check[adj[clist[cnt].first][i].first]==0){
				check[adj[clist[cnt].first][i].first]=1;
				clist.push_back({adj[clist[cnt].first][i].first,adj[clist[cnt].first][i].second+clist[cnt].second});
				dist.push_back(adj[clist[cnt].first][i].second+clist[cnt].second);
			}
		}
		cnt++;
	};
	cnt=0;
	for(int i=0;i<n;i++){
		check[i]=0;
	}
	clist.push_back({y,0});
	dist.push_back(0);
	check[y]=1;
	while(cnt<clist.size()){
		for(int i=0;i<adj[clist[cnt].first].size();i++){
			if(check[adj[clist[cnt].first][i].first]==0){
				check[adj[clist[cnt].first][i].first]=1;
				clist.push_back({adj[clist[cnt].first][i].first,adj[clist[cnt].first][i].second+clist[cnt].second});
				dist.push_back(adj[clist[cnt].first][i].second+clist[cnt].second);
			}
		}
		cnt++;
	}
	sort(dist.begin(),dist.end());
	long long tdist=0;
	int ans=0;
	for(int i=0;i<dist.size();i++){
		tdist+=dist[i];
		if(tdist>k||i+1==dist.size()){
			ans=i;
			break;
		}
	}
	return ans;
}
/*
4
0 3 20
0 1 18
1 2 1
2 3 19
*/

Compilation message

closing.cpp: In function 'int max_score(int, int, int, long long int, std::vector<int>, std::vector<int>, std::vector<int>)':
closing.cpp:38:11: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   38 |  while(cnt<clist.size()){
      |        ~~~^~~~~~~~~~~~~
closing.cpp:39:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   39 |   for(int i=0;i<adj[clist[cnt].first].size();i++){
      |               ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
closing.cpp:55:11: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   55 |  while(cnt<clist.size()){
      |        ~~~^~~~~~~~~~~~~
closing.cpp:56:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   56 |   for(int i=0;i<adj[clist[cnt].first].size();i++){
      |               ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
closing.cpp:68:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   68 |  for(int i=0;i<dist.size();i++){
      |              ~^~~~~~~~~~~~
closing.cpp:70:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   70 |   if(tdist>k||i+1==dist.size()){
      |               ~~~^~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 980 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 108 ms 29656 KB 1st lines differ - on the 1st token, expected: '451', found: '399672'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 980 KB Output is correct
2 Incorrect 1 ms 980 KB 1st lines differ - on the 1st token, expected: '30', found: '24'
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 980 KB Output is correct
2 Incorrect 1 ms 980 KB 1st lines differ - on the 1st token, expected: '30', found: '24'
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 980 KB Output is correct
2 Incorrect 1 ms 980 KB 1st lines differ - on the 1st token, expected: '30', found: '24'
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 980 KB Output is correct
2 Correct 1 ms 980 KB Output is correct
3 Incorrect 1 ms 980 KB 1st lines differ - on the 1st token, expected: '30', found: '24'
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 980 KB Output is correct
2 Correct 1 ms 980 KB Output is correct
3 Incorrect 1 ms 980 KB 1st lines differ - on the 1st token, expected: '30', found: '24'
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 980 KB Output is correct
2 Correct 1 ms 980 KB Output is correct
3 Incorrect 1 ms 980 KB 1st lines differ - on the 1st token, expected: '30', found: '24'
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 980 KB Output is correct
2 Correct 1 ms 980 KB Output is correct
3 Incorrect 1 ms 980 KB 1st lines differ - on the 1st token, expected: '30', found: '24'
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 980 KB Output is correct
2 Correct 1 ms 980 KB Output is correct
3 Incorrect 1 ms 980 KB 1st lines differ - on the 1st token, expected: '30', found: '24'
4 Halted 0 ms 0 KB -