Submission #940219

#TimeUsernameProblemLanguageResultExecution timeMemory
940219ezzzay경주 (Race) (IOI11_race)C++14
Compilation error
0 ms0 KiB
#include "race.h"
#include<bits/stdc++.h>
using namespace std;
#define pb push_back
#define ff first
#define ll long long
#define ss second
const int M=2e5+5;
ll ans=INT_MAX;
vector<pair<ll,ll>>v[M];

bool vis[M];
ll Z;
vector<ll> fun(ll a){
	vis[a]=1;
	
    vector<ll>dp(150);
	for(ll i=0;i<=Z;i++)dp[i]=INT_MAX;
	dp[0]=0;
	for(auto p:v[a]){
		ll b=p.ff;
		ll c=p.ss;
		if(vis[b]==0){
			vector<int>vc=fun(b);
			for(ll i=0;i<=Z;i++){
				ans=min(ans,dp[i]+vc[Z-i]+2);
			}
			for(int i=0;i<=Z-c;i++){
				dp[i+c]=min(dp[i+c],vc[i]+1);
			}
		}
	}
	ans=min(ans,dp[Z]);
	return dp;
	
}
int best_path(int N, int K, int H[][2], int L[]){
	Z=K;
    for(int i=0;i<N-1;i++)cin>>H[i][0]>>H[i][1];
	for(int i=0;i<N-1;i++)cin>>L[i];
	for(int i=0;i<N-1;i++){
		int a=H[i][0];
		int b=H[i][1];
		int c=L[i];
		v[a].pb({b,c});
		v[b].pb({a,c});
	}
	
	fun(0);
	if(ans==INT_MAX)return -1;
	return ans;
}

Compilation message (stderr)

race.cpp: In function 'std::vector<long long int> fun(long long int)':
race.cpp:24:21: error: conversion from 'vector<long long int>' to non-scalar type 'vector<int>' requested
   24 |    vector<int>vc=fun(b);
      |                  ~~~^~~
race.cpp:29:32: error: no matching function for call to 'min(__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type&, __gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type)'
   29 |     dp[i+c]=min(dp[i+c],vc[i]+1);
      |                                ^
In file included from /usr/include/c++/10/bits/char_traits.h:39,
                 from /usr/include/c++/10/ios:40,
                 from /usr/include/c++/10/istream:38,
                 from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from race.cpp:2:
/usr/include/c++/10/bits/stl_algobase.h:230:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::min(const _Tp&, const _Tp&)'
  230 |     min(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/10/bits/stl_algobase.h:230:5: note:   template argument deduction/substitution failed:
race.cpp:29:32: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and '__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type' {aka 'int'})
   29 |     dp[i+c]=min(dp[i+c],vc[i]+1);
      |                                ^
In file included from /usr/include/c++/10/bits/char_traits.h:39,
                 from /usr/include/c++/10/ios:40,
                 from /usr/include/c++/10/istream:38,
                 from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from race.cpp:2:
/usr/include/c++/10/bits/stl_algobase.h:278:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::min(const _Tp&, const _Tp&, _Compare)'
  278 |     min(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/10/bits/stl_algobase.h:278:5: note:   template argument deduction/substitution failed:
race.cpp:29:32: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and '__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type' {aka 'int'})
   29 |     dp[i+c]=min(dp[i+c],vc[i]+1);
      |                                ^
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from race.cpp:2:
/usr/include/c++/10/bits/stl_algo.h:3468:5: note: candidate: 'template<class _Tp> constexpr _Tp std::min(std::initializer_list<_Tp>)'
 3468 |     min(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/10/bits/stl_algo.h:3468:5: note:   template argument deduction/substitution failed:
race.cpp:29:32: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   29 |     dp[i+c]=min(dp[i+c],vc[i]+1);
      |                                ^
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from race.cpp:2:
/usr/include/c++/10/bits/stl_algo.h:3474:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::min(std::initializer_list<_Tp>, _Compare)'
 3474 |     min(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/10/bits/stl_algo.h:3474:5: note:   template argument deduction/substitution failed:
race.cpp:29:32: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   29 |     dp[i+c]=min(dp[i+c],vc[i]+1);
      |                                ^