#pragma GCC optimize ("Ofast")
#include<bits/stdc++.h>
using namespace std;
#define main dummy_main
int main( ) {
return 0 ;
}
#undef main
class Solution{
public :
vector< int > minSubsequence( vector< int > & A) {
int i;
int tot;
int now = 0 ;
int N = A.size ( ) ;
vector< int > res;
sort( A.begin ( ) , A.end ( ) ) ;
{
int Lj4PdHRW;
int KL2GvlyY;
if ( N== 0 ) {
KL2GvlyY = 0 ;
}
else {
KL2GvlyY = A[ 0 ] ;
for ( Lj4PdHRW= ( 1 ) ; Lj4PdHRW< ( N) ; Lj4PdHRW++ ) {
KL2GvlyY + = A[ Lj4PdHRW] ;
}
}
tot = KL2GvlyY;
}
for ( i= ( N) - 1 ; i>= ( 0 ) ; i-- ) {
if ( now <= tot) {
res.push_back ( A[ i] ) ;
now + = A[ i] ;
tot - = A[ i] ;
}
}
return res;
}
}
;
// cLay varsion 20200408-1
// --- original code ---
// #define main dummy_main
// {}
// #undef main
//
// class Solution {
// public:
// vector<int> minSubsequence(vector<int>& A) {
// int tot, now = 0, N = A.size();
// vector<int> res;
// sort(A.begin(), A.end());
//
// tot = sum(A(N));
// rrep(i,N) if(now <= tot){
// res.push_back(A[i]);
// now += A[i];
// tot -= A[i];
// }
//
// return res;
// }
// };
I3ByYWdtYSBHQ0Mgb3B0aW1pemUgKCJPZmFzdCIpCiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbWFpbiBkdW1teV9tYWluCmludCBtYWluKCl7CiAgcmV0dXJuIDA7Cn0KI3VuZGVmIG1haW4KY2xhc3MgU29sdXRpb257CiAgcHVibGljOgogIHZlY3RvcjxpbnQ+IG1pblN1YnNlcXVlbmNlKHZlY3RvcjxpbnQ+JiBBKXsKICAgIGludCBpOwogICAgaW50IHRvdDsKICAgIGludCBub3cgPSAwOwogICAgaW50IE4gPSBBLnNpemUoKTsKICAgIHZlY3RvcjxpbnQ+IHJlczsKICAgIHNvcnQoQS5iZWdpbigpLCBBLmVuZCgpKTsKICAgIHsKICAgICAgaW50IExqNFBkSFJXOwogICAgICBpbnQgS0wyR3ZseVk7CiAgICAgIGlmKE49PTApewogICAgICAgIEtMMkd2bHlZID0gMDsKICAgICAgfQogICAgICBlbHNlewogICAgICAgIEtMMkd2bHlZID0gQVswXTsKICAgICAgICBmb3IoTGo0UGRIUlc9KDEpO0xqNFBkSFJXPChOKTtMajRQZEhSVysrKXsKICAgICAgICAgIEtMMkd2bHlZICs9IEFbTGo0UGRIUlddOwogICAgICAgIH0KICAgICAgfQogICAgICB0b3QgPUtMMkd2bHlZOwogICAgfQogICAgZm9yKGk9KE4pLTE7aT49KDApO2ktLSl7CiAgICAgIGlmKG5vdyA8PSB0b3QpewogICAgICAgIHJlcy5wdXNoX2JhY2soQVtpXSk7CiAgICAgICAgbm93ICs9IEFbaV07CiAgICAgICAgdG90IC09IEFbaV07CiAgICAgIH0KICAgIH0KICAgIHJldHVybiByZXM7CiAgfQp9CjsKLy8gY0xheSB2YXJzaW9uIDIwMjAwNDA4LTEKCi8vIC0tLSBvcmlnaW5hbCBjb2RlIC0tLQovLyAjZGVmaW5lIG1haW4gZHVtbXlfbWFpbgovLyB7fQovLyAjdW5kZWYgbWFpbgovLyAKLy8gY2xhc3MgU29sdXRpb24gewovLyBwdWJsaWM6Ci8vICAgdmVjdG9yPGludD4gbWluU3Vic2VxdWVuY2UodmVjdG9yPGludD4mIEEpIHsKLy8gICAgIGludCB0b3QsIG5vdyA9IDAsIE4gPSBBLnNpemUoKTsKLy8gICAgIHZlY3RvcjxpbnQ+IHJlczsKLy8gICAgIHNvcnQoQS5iZWdpbigpLCBBLmVuZCgpKTsKLy8gCi8vICAgICB0b3QgPSBzdW0oQShOKSk7Ci8vICAgICBycmVwKGksTikgaWYobm93IDw9IHRvdCl7Ci8vICAgICAgIHJlcy5wdXNoX2JhY2soQVtpXSk7Ci8vICAgICAgIG5vdyArPSBBW2ldOwovLyAgICAgICB0b3QgLT0gQVtpXTsKLy8gICAgIH0KLy8gCi8vICAgICByZXR1cm4gcmVzOwovLyAgIH0KLy8gfTsK