제출 #1367064

#제출 시각아이디문제언어결과실행 시간메모리
1367064FaresSTH저울 (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){
	int n=a.size();
	if(n==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;
}
int* 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:28:6: error: ambiguating new declaration of 'int* orderCoins()'
   28 | int* orderCoins(){
      |      ^~~~~~~~~~
In file included from scales.cpp:2:
scales.h:9:6: note: old declaration 'void orderCoins()'
    9 | void orderCoins();
      |      ^~~~~~~~~~
scales.cpp: In function 'int* orderCoins()':
scales.cpp:32:16: warning: address of local variable 'w' returned [-Wreturn-local-addr]
   32 |         return w;
      |                ^
scales.cpp:29:13: note: declared here
   29 |         int w[6];
      |             ^