제출 #940219

#제출 시각아이디문제언어결과실행 시간메모리
940219ezzzay경주 (Race) (IOI11_race)C++14
컴파일 에러
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; }

컴파일 시 표준 에러 (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);
      |                                ^