답안 #1088225

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1088225 2024-09-14T06:59:54 Z Rolo678 Aesthetic (NOI20_aesthetic) C++14
컴파일 오류
0 ms 0 KB
#include <bits/stdc++.h>
using namespace std;
 
vector<vector<pair<long long,pair<int,int>>>>g(3e5+5);
vector<long long>dp2(3e5+5,1e9+5);
 vector<long long>dp(3e5+5,0);
void dfs(int v=1,int p=-1,int w=0)
{
  if(p==-1)dp[v] = 0;
  else dp[v] = dp[p] + w;
  for(auto u : g[v])
  {
    if(p != u.second.first)
    {
      dp2[u]= min(dp2[v],u.second.second)
      dfs(u.second.first,v,u.first);
     
    }
  }
}
 
int main()
{
  int n,m;
  cin >> n>>m;
  cin >> n >> m;
  vector<long long>mx(m+2);
  for(int i = 1;i<n;i++)
  {
    int a,b,w;
    cin >> a >> b >> w;
    g[a].push_back({w,{b,i}});
    g[b].push_back({w,{a,i}});
    m[i+1] = w;
  }
  
  for(int i = n-1;i> 0;i--)
  {
    mx[i] = max(mx[i+1],mx[i]);
  }
  
  dfs();
  
  long long ans = dp[n] + mx[dp2[n]+1];
  cout << ans;
}

Compilation message

Aesthetic.cpp: In function 'void dfs(int, int, int)':
Aesthetic.cpp:15:10: error: no match for 'operator[]' (operand types are 'std::vector<long long int>' and 'std::pair<long long int, std::pair<int, int> >')
   15 |       dp2[u]= min(dp2[v],u.second.second)
      |          ^
In file included from /usr/include/c++/10/vector:67,
                 from /usr/include/c++/10/queue:61,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:86,
                 from Aesthetic.cpp:1:
/usr/include/c++/10/bits/stl_vector.h:1043:7: note: candidate: 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator[](std::vector<_Tp, _Alloc>::size_type) [with _Tp = long long int; _Alloc = std::allocator<long long int>; std::vector<_Tp, _Alloc>::reference = long long int&; std::vector<_Tp, _Alloc>::size_type = long unsigned int]'
 1043 |       operator[](size_type __n) _GLIBCXX_NOEXCEPT
      |       ^~~~~~~~
/usr/include/c++/10/bits/stl_vector.h:1043:28: note:   no known conversion for argument 1 from 'std::pair<long long int, std::pair<int, int> >' to 'std::vector<long long int>::size_type' {aka 'long unsigned int'}
 1043 |       operator[](size_type __n) _GLIBCXX_NOEXCEPT
      |                  ~~~~~~~~~~^~~
/usr/include/c++/10/bits/stl_vector.h:1061:7: note: candidate: 'std::vector<_Tp, _Alloc>::const_reference std::vector<_Tp, _Alloc>::operator[](std::vector<_Tp, _Alloc>::size_type) const [with _Tp = long long int; _Alloc = std::allocator<long long int>; std::vector<_Tp, _Alloc>::const_reference = const long long int&; std::vector<_Tp, _Alloc>::size_type = long unsigned int]'
 1061 |       operator[](size_type __n) const _GLIBCXX_NOEXCEPT
      |       ^~~~~~~~
/usr/include/c++/10/bits/stl_vector.h:1061:28: note:   no known conversion for argument 1 from 'std::pair<long long int, std::pair<int, int> >' to 'std::vector<long long int>::size_type' {aka 'long unsigned int'}
 1061 |       operator[](size_type __n) const _GLIBCXX_NOEXCEPT
      |                  ~~~~~~~~~~^~~
Aesthetic.cpp:15:41: error: no matching function for call to 'min(__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type&, int&)'
   15 |       dp2[u]= min(dp2[v],u.second.second)
      |                                         ^
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 Aesthetic.cpp:1:
/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:
Aesthetic.cpp:15:41: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   15 |       dp2[u]= min(dp2[v],u.second.second)
      |                                         ^
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 Aesthetic.cpp:1:
/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:
Aesthetic.cpp:15:41: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   15 |       dp2[u]= min(dp2[v],u.second.second)
      |                                         ^
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from Aesthetic.cpp:1:
/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:
Aesthetic.cpp:15:41: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   15 |       dp2[u]= min(dp2[v],u.second.second)
      |                                         ^
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from Aesthetic.cpp:1:
/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:
Aesthetic.cpp:15:41: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   15 |       dp2[u]= min(dp2[v],u.second.second)
      |                                         ^
Aesthetic.cpp: In function 'int main()':
Aesthetic.cpp:34:6: error: invalid types 'int[int]' for array subscript
   34 |     m[i+1] = w;
      |      ^