Submission #49820

# Submission time Handle Problem Language Result Execution time Memory
49820 2018-06-03T10:45:13 Z zetapi Scales (IOI15_scales) C++14
Compilation error
0 ms 0 KB
//#include "scales.h"
#include "bits/stdc++.h"
 
using namespace std;
 
#define mp make_pair
#define pb push_back
 
void init(int T)
{
    /* ... */
 
}
 
void erase(int X,vector<int> &f,vector<int> &s)
{
	for(int A=0;A<f.size();A++)
		if(f[A]==X)
		{
			f.erase(f.begin()+A);
			return ;
		}
	for(int A=0;A<s.size();A++)
		if(s[A]==X)
		{
			s.erase(s.begin()+A);
			return ;
		}

}
 
/*int getMedian(int X,int Y,int Z)
{
	int arr[]={X,Y,Z};
	sort(arr,arr+3);
	return arr[1];
}

int getLightest(int X,int Y,int Z)
{
	int arr[]={X,Y,Z};
	sort(arr,arr+3);
	return arr[0];
}

void answer(int W[])
{

}*/

void orderCoins() 
{
    /* ... */
    int W[] = {1, 2, 3, 4, 5, 6};
    vector<int> f(4),s(4),res;
    f={getLightest(1,2,3),getMedian(1,2,3),6-(f[0]+f[1])};
    s={getLightest(4,5,6),getMedian(4,5,6),15-(s[0]+s[1])};
    f[2]=6-f[0]-f[1];
    s[2]=15-s[0]-s[1];
    while((!f.empty())||(!s.empty()))
    {
    	if(f.empty())
    	{
    		while(!s.empty())
    		{
    			res.pb(*s.begin());
    			s.erase(s.begin());
    		}
    	}
    	else if(s.empty())
    	{
    		while(!f.empty())
    		{
    			res.pb(*f.begin());
    			f.erase(f.begin());
    		}
    	}
    	else if(f.size()==1 && s.size()==1)
    	{
    		res.pb(getMedian(res[0],f[0],s[0]));
    		res.pb(f[0]+s[0]-res.back());
    		erase(res[res.size()-2],f,s);
    		erase(res[res.size()-1],f,s);
    	}
    	else
    	{
    		if(res.empty())
    		{
    			res.pb(getLightest(f[0],f[1],s[0]));
    			erase(res.back(),f,s);
    		}
    		else
    		{
    			res.pb(getMedian(res[0],f[0],s[0]));
    			erase(res.back(),f,s);
    		}
    	}
    	/*cout<<" res ";
    	for(auto A:res)
    		cout<<A<<" ";
    	cout<<"\n f ";
    	for(auto A:f)
    		cout<<A<<" ";
    	cout<<"\n s ";
    	for(auto A:s)
    		cout<<A<<" ";*/
    }
    for(int A=0;A<6;A++)
    	W[A]=res[A]; 
    answer(W);
}

/*int main()
{
	ios_base::sync_with_stdio(false);
	orderCoins();
	return 0;	
}*/

Compilation message

In file included from grader.c:2:0:
graderlib.c: In function 'void answer(int*)':
graderlib.c:53:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
     if (_ghksjhdfkae19ga_ > 1) 
     ^~
graderlib.c:56:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
  for (i = 0; i < 6; i++) {
  ^~~
scales.cpp: In function 'void init(int)':
scales.cpp:9:15: warning: unused parameter 'T' [-Wunused-parameter]
 void init(int T)
               ^
scales.cpp: In function 'void erase(int, std::vector<int>&, std::vector<int>&)':
scales.cpp:17:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int A=0;A<f.size();A++)
              ~^~~~~~~~~
scales.cpp:23:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int A=0;A<s.size();A++)
              ~^~~~~~~~~
scales.cpp: In function 'void orderCoins()':
scales.cpp:56:8: error: 'getLightest' was not declared in this scope
     f={getLightest(1,2,3),getMedian(1,2,3),6-(f[0]+f[1])};
        ^~~~~~~~~~~
scales.cpp:56:8: note: suggested alternative: 'gettext'
     f={getLightest(1,2,3),getMedian(1,2,3),6-(f[0]+f[1])};
        ^~~~~~~~~~~
        gettext
scales.cpp:56:27: error: 'getMedian' was not declared in this scope
     f={getLightest(1,2,3),getMedian(1,2,3),6-(f[0]+f[1])};
                           ^~~~~~~~~
scales.cpp:56:27: note: suggested alternative: 'getdelim'
     f={getLightest(1,2,3),getMedian(1,2,3),6-(f[0]+f[1])};
                           ^~~~~~~~~
                           getdelim
scales.cpp:56:57: error: no match for 'operator=' (operand types are 'std::vector<int>' and '<brace-enclosed initializer list>')
     f={getLightest(1,2,3),getMedian(1,2,3),6-(f[0]+f[1])};
                                                         ^
In file included from /usr/include/c++/7/vector:69:0,
                 from /usr/include/c++/7/queue:61,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:86,
                 from scales.cpp:2:
/usr/include/c++/7/bits/vector.tcc:179:5: note: candidate: std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = int; _Alloc = std::allocator<int>]
     vector<_Tp, _Alloc>::
     ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/vector.tcc:179:5: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const std::vector<int>&'
In file included from /usr/include/c++/7/vector:64:0,
                 from /usr/include/c++/7/queue:61,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:86,
                 from scales.cpp:2:
/usr/include/c++/7/bits/stl_vector.h:461:7: note: candidate: std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(std::vector<_Tp, _Alloc>&&) [with _Tp = int; _Alloc = std::allocator<int>]
       operator=(vector&& __x) noexcept(_Alloc_traits::_S_nothrow_move())
       ^~~~~~~~
/usr/include/c++/7/bits/stl_vector.h:461:7: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::vector<int>&&'
/usr/include/c++/7/bits/stl_vector.h:482:7: note: candidate: std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(std::initializer_list<_Tp>) [with _Tp = int; _Alloc = std::allocator<int>]
       operator=(initializer_list<value_type> __l)
       ^~~~~~~~
/usr/include/c++/7/bits/stl_vector.h:482:7: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::initializer_list<int>'
scales.cpp:57:58: error: no match for 'operator=' (operand types are 'std::vector<int>' and '<brace-enclosed initializer list>')
     s={getLightest(4,5,6),getMedian(4,5,6),15-(s[0]+s[1])};
                                                          ^
In file included from /usr/include/c++/7/vector:69:0,
                 from /usr/include/c++/7/queue:61,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:86,
                 from scales.cpp:2:
/usr/include/c++/7/bits/vector.tcc:179:5: note: candidate: std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = int; _Alloc = std::allocator<int>]
     vector<_Tp, _Alloc>::
     ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/vector.tcc:179:5: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const std::vector<int>&'
In file included from /usr/include/c++/7/vector:64:0,
                 from /usr/include/c++/7/queue:61,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:86,
                 from scales.cpp:2:
/usr/include/c++/7/bits/stl_vector.h:461:7: note: candidate: std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(std::vector<_Tp, _Alloc>&&) [with _Tp = int; _Alloc = std::allocator<int>]
       operator=(vector&& __x) noexcept(_Alloc_traits::_S_nothrow_move())
       ^~~~~~~~
/usr/include/c++/7/bits/stl_vector.h:461:7: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::vector<int>&&'
/usr/include/c++/7/bits/stl_vector.h:482:7: note: candidate: std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(std::initializer_list<_Tp>) [with _Tp = int; _Alloc = std::allocator<int>]
       operator=(initializer_list<value_type> __l)
       ^~~~~~~~
/usr/include/c++/7/bits/stl_vector.h:482:7: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::initializer_list<int>'
scales.cpp:110:5: error: 'answer' was not declared in this scope
     answer(W);
     ^~~~~~
scales.cpp:110:5: note: suggested alternative: 'assert'
     answer(W);
     ^~~~~~
     assert