제출 #1367059

#제출 시각아이디문제언어결과실행 시간메모리
1367059FaresSTH저울 (IOI15_scales)C++20
컴파일 에러
0 ms0 KiB
#include"bits/stdc++.h"
#include"scales.h"
using namespace std;
// #define int long long
#define S second
#define F first
void init(int t){}
vector<int>rec(vector<int>&a){
	if(a.size()==3){
		auto x=getLightest(a[0],a[1],a[2]);
		auto y=getMedian(a[0],a[1],a[2]);
		return {x,y,a[0]+a[1]+a[2]-x-y};
	};
	int mn=getLightest(a[0],a[1],a[2]);
	vector<int>b,res;
	for(int i=3;i<n;i+=2){
		if(i+1<n)mn=getLightest(mn,a[i],a[i+1]);
		else if(mn==a[0])mn=getLightest(mn,a[i],a[1]);
		else mn=getLightest(mn,a[i],a[0]);
	}
	res.push_back(mn);
	for(int i=0;i<n;i++)if(a[i]!=mn)b.push_back(a[i]);
	auto v=rec(b);
	for(int i:v)res.push_back(i);
	return res;
}
void ordercoins(){
	int w[6];
	auto a=rec({1,2,3,4,5,6});
	for(int i=0;i<6;i++)w[i]=a[i];
	return w;
}

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

scales.cpp: In function 'std::vector<int> rec(std::vector<int>&)':
scales.cpp:16:23: error: 'n' was not declared in this scope
   16 |         for(int i=3;i<n;i+=2){
      |                       ^
scales.cpp:22:23: error: 'n' was not declared in this scope
   22 |         for(int i=0;i<n;i++)if(a[i]!=mn)b.push_back(a[i]);
      |                       ^
scales.cpp: In function 'void ordercoins()':
scales.cpp:29:19: error: cannot bind non-const lvalue reference of type 'std::vector<int>&' to an rvalue of type 'std::vector<int>'
   29 |         auto a=rec({1,2,3,4,5,6});
      |                ~~~^~~~~~~~~~~~~~~
In file included from /usr/include/c++/13/vector:66,
                 from /usr/include/c++/13/functional:64,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:53,
                 from scales.cpp:1:
/usr/include/c++/13/bits/stl_vector.h:678:7: note:   after user-defined conversion: 'constexpr std::vector<_Tp, _Alloc>::vector(std::initializer_list<_Tp>, const allocator_type&) [with _Tp = int; _Alloc = std::allocator<int>; allocator_type = std::allocator<int>]'
  678 |       vector(initializer_list<value_type> __l,
      |       ^~~~~~
scales.cpp:8:28: note:   initializing argument 1 of 'std::vector<int> rec(std::vector<int>&)'
    8 | vector<int>rec(vector<int>&a){
      |                ~~~~~~~~~~~~^
scales.cpp:31:16: error: return-statement with a value, in function returning 'void' [-fpermissive]
   31 |         return w;
      |                ^