제출 #1358084

#제출 시각아이디문제언어결과실행 시간메모리
1358084vjudge1A Plus B (IOI23_aplusb)C++20
컴파일 에러
0 ms0 KiB
/*
    TASK: A Plus B_Dijkstra
    LANG: CPP
    AUTHOR: PeaTT~
*/
#include "aplusb.h"
#include <bits/stdc++.h>
#define tiii tuple<int,int,int>
#define pii pair<int,int>
using namespace std;

vector<int> smallest_sums(int N, std::vector<int> A, std::vector<int> B) {
	vector<int> ans;
	priority_queue<tiii,vector<tiii>,greater<tiii>> pq;
    set<pii> mark;
	pq.push({a[0]+b[0],0,0});
	mark.insert({0,0});
    while (ans.size() < n) {
        auto [w,i,j] = pq.top();
		pq.pop();
        ans.push_back(w);
        if(i+1 < n && !mark.count({i+1,j})) {
            pq.push({a[i+1]+b[j],i+1,j});
            mark.insert({i+1,j});
        }
        if (j+1 < n && !mark.count({i,j+1})) {
            pq.push({a[i]+b[j+1],i,j+1});
            mark.insert({i,j+1});
        }
    }
    return ans;
}

컴파일 시 표준 에러 (stderr) 메시지

aplusb.cpp: In function 'std::vector<int> smallest_sums(int, std::vector<int>, std::vector<int>)':
aplusb.cpp:16:18: error: 'a' was not declared in this scope
   16 |         pq.push({a[0]+b[0],0,0});
      |                  ^
aplusb.cpp:16:23: error: 'b' was not declared in this scope
   16 |         pq.push({a[0]+b[0],0,0});
      |                       ^
aplusb.cpp:16:16: error: no matching function for call to 'std::priority_queue<std::tuple<int, int, int>, std::vector<std::tuple<int, int, int> >, std::greater<std::tuple<int, int, int> > >::push(<brace-enclosed initializer list>)'
   16 |         pq.push({a[0]+b[0],0,0});
      |         ~~~~~~~^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/13/queue:66,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:157,
                 from aplusb.cpp:7:
/usr/include/c++/13/bits/stl_queue.h:738:7: note: candidate: 'void std::priority_queue<_Tp, _Sequence, _Compare>::push(const value_type&) [with _Tp = std::tuple<int, int, int>; _Sequence = std::vector<std::tuple<int, int, int> >; _Compare = std::greater<std::tuple<int, int, int> >; value_type = std::tuple<int, int, int>]'
  738 |       push(const value_type& __x)
      |       ^~~~
/usr/include/c++/13/bits/stl_queue.h:738:30: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const std::priority_queue<std::tuple<int, int, int>, std::vector<std::tuple<int, int, int> >, std::greater<std::tuple<int, int, int> > >::value_type&' {aka 'const std::tuple<int, int, int>&'}
  738 |       push(const value_type& __x)
      |            ~~~~~~~~~~~~~~~~~~^~~
/usr/include/c++/13/bits/stl_queue.h:746:7: note: candidate: 'void std::priority_queue<_Tp, _Sequence, _Compare>::push(value_type&&) [with _Tp = std::tuple<int, int, int>; _Sequence = std::vector<std::tuple<int, int, int> >; _Compare = std::greater<std::tuple<int, int, int> >; value_type = std::tuple<int, int, int>]'
  746 |       push(value_type&& __x)
      |       ^~~~
/usr/include/c++/13/bits/stl_queue.h:746:25: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::priority_queue<std::tuple<int, int, int>, std::vector<std::tuple<int, int, int> >, std::greater<std::tuple<int, int, int> > >::value_type&&' {aka 'std::tuple<int, int, int>&&'}
  746 |       push(value_type&& __x)
      |            ~~~~~~~~~~~~~^~~
aplusb.cpp:18:25: error: 'n' was not declared in this scope
   18 |     while (ans.size() < n) {
      |                         ^
aplusb.cpp:23:20: error: no matching function for call to 'std::priority_queue<std::tuple<int, int, int>, std::vector<std::tuple<int, int, int> >, std::greater<std::tuple<int, int, int> > >::push(<brace-enclosed initializer list>)'
   23 |             pq.push({a[i+1]+b[j],i+1,j});
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_queue.h:738:7: note: candidate: 'void std::priority_queue<_Tp, _Sequence, _Compare>::push(const value_type&) [with _Tp = std::tuple<int, int, int>; _Sequence = std::vector<std::tuple<int, int, int> >; _Compare = std::greater<std::tuple<int, int, int> >; value_type = std::tuple<int, int, int>]'
  738 |       push(const value_type& __x)
      |       ^~~~
/usr/include/c++/13/bits/stl_queue.h:738:30: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const std::priority_queue<std::tuple<int, int, int>, std::vector<std::tuple<int, int, int> >, std::greater<std::tuple<int, int, int> > >::value_type&' {aka 'const std::tuple<int, int, int>&'}
  738 |       push(const value_type& __x)
      |            ~~~~~~~~~~~~~~~~~~^~~
/usr/include/c++/13/bits/stl_queue.h:746:7: note: candidate: 'void std::priority_queue<_Tp, _Sequence, _Compare>::push(value_type&&) [with _Tp = std::tuple<int, int, int>; _Sequence = std::vector<std::tuple<int, int, int> >; _Compare = std::greater<std::tuple<int, int, int> >; value_type = std::tuple<int, int, int>]'
  746 |       push(value_type&& __x)
      |       ^~~~
/usr/include/c++/13/bits/stl_queue.h:746:25: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::priority_queue<std::tuple<int, int, int>, std::vector<std::tuple<int, int, int> >, std::greater<std::tuple<int, int, int> > >::value_type&&' {aka 'std::tuple<int, int, int>&&'}
  746 |       push(value_type&& __x)
      |            ~~~~~~~~~~~~~^~~
aplusb.cpp:27:20: error: no matching function for call to 'std::priority_queue<std::tuple<int, int, int>, std::vector<std::tuple<int, int, int> >, std::greater<std::tuple<int, int, int> > >::push(<brace-enclosed initializer list>)'
   27 |             pq.push({a[i]+b[j+1],i,j+1});
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_queue.h:738:7: note: candidate: 'void std::priority_queue<_Tp, _Sequence, _Compare>::push(const value_type&) [with _Tp = std::tuple<int, int, int>; _Sequence = std::vector<std::tuple<int, int, int> >; _Compare = std::greater<std::tuple<int, int, int> >; value_type = std::tuple<int, int, int>]'
  738 |       push(const value_type& __x)
      |       ^~~~
/usr/include/c++/13/bits/stl_queue.h:738:30: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const std::priority_queue<std::tuple<int, int, int>, std::vector<std::tuple<int, int, int> >, std::greater<std::tuple<int, int, int> > >::value_type&' {aka 'const std::tuple<int, int, int>&'}
  738 |       push(const value_type& __x)
      |            ~~~~~~~~~~~~~~~~~~^~~
/usr/include/c++/13/bits/stl_queue.h:746:7: note: candidate: 'void std::priority_queue<_Tp, _Sequence, _Compare>::push(value_type&&) [with _Tp = std::tuple<int, int, int>; _Sequence = std::vector<std::tuple<int, int, int> >; _Compare = std::greater<std::tuple<int, int, int> >; value_type = std::tuple<int, int, int>]'
  746 |       push(value_type&& __x)
      |       ^~~~
/usr/include/c++/13/bits/stl_queue.h:746:25: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::priority_queue<std::tuple<int, int, int>, std::vector<std::tuple<int, int, int> >, std::greater<std::tuple<int, int, int> > >::value_type&&' {aka 'std::tuple<int, int, int>&&'}
  746 |       push(value_type&& __x)
      |            ~~~~~~~~~~~~~^~~