| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1358084 | vjudge1 | A Plus B (IOI23_aplusb) | C++20 | 컴파일 에러 | 0 ms | 0 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)
| ~~~~~~~~~~~~~^~~