/*
date:
site: NTU
name: AGAR
link: http://l...content-available-to-author-only...u.vn/Problem/Details/4479
*/
#include <iostream>
#include <vector>
#include <algorithm>
#include <utility>
#include <list>
using namespace std;
#define FOR(i,a,b) for(LL i=a; i<=b; i++)
#define Size first
#define Stt second
typedef long long LL;
typedef pair< LL,LL> Ball;
typedef vector< Ball> :: iterator IT;
bool operator< ( const Ball& truoc,const Ball& sau)
{
return truoc.Size < sau.Size ;
}
vector< Ball> a,smaller,bigger;
vector< LL> track;
int main( )
{
LL n,A,B,x;
cin >> n>> A>> B;
if ( A > B)
{
cout << "0" << endl;
return 0 ;
}
FOR( i,1 ,n)
{
cin >> x;
a.push_back ( make_pair( x,i) ) ;
}
sort( a.begin ( ) ,a.end ( ) ) ;
// for(auto x : a)
// cout<<x.Size<<" - "<<x.Stt<<endl;
// cout<<endl;
for ( int i= 0 ; i< a.size ( ) && a[ i] .Size < A; i++ )
smaller.push_back ( a[ i] ) ;
for ( int i= a.size ( ) - 1 ; i>= 0 && a[ i] .Size >= A; i-- )
bigger.push_back ( a[ i] ) ;
while ( ! smaller.empty ( ) )
{
//Lay phan tu lon nhat trong day be ra
if ( smaller.back ( ) .Size >= A)
{
//khong con phan tu nao co the an duoc
break ;
} else {
A + = smaller.back ( ) .Size ;
track.push_back ( smaller.back ( ) .Stt ) ;
smaller.pop_back ( ) ;
//Update la 2 day
while ( bigger.empty ( ) == false && bigger.back ( ) .Size < A)
{
smaller.push_back ( bigger.back ( ) ) ;
bigger.pop_back ( ) ;
}
}
if ( A > B) {
cout << track.size ( ) << endl;
for ( auto x : track)
cout << x<< " " ;
return 0 ;
}
}
cout << "-1" << endl;
return 0 ;
}
LyoKZGF0ZToKc2l0ZTogTlRVCm5hbWU6IEFHQVIKbGluazogaHR0cDovL2wuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLnUudm4vUHJvYmxlbS9EZXRhaWxzLzQ0NzkKKi8KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8dXRpbGl0eT4KI2luY2x1ZGUgPGxpc3Q+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKI2RlZmluZSBGT1IoaSxhLGIpIGZvcihMTCBpPWE7IGk8PWI7IGkrKykKI2RlZmluZSBTaXplIGZpcnN0CiNkZWZpbmUgU3R0IHNlY29uZAoKdHlwZWRlZiBsb25nIGxvbmcgTEw7CnR5cGVkZWYgcGFpcjxMTCxMTD4gQmFsbDsKdHlwZWRlZiB2ZWN0b3I8QmFsbD46Oml0ZXJhdG9yIElUOwoKYm9vbCBvcGVyYXRvcjwoY29uc3QgQmFsbCYgdHJ1b2MsY29uc3QgQmFsbCYgc2F1KQp7CglyZXR1cm4gdHJ1b2MuU2l6ZSA8IHNhdS5TaXplOwp9Cgp2ZWN0b3I8QmFsbD4gYSxzbWFsbGVyLGJpZ2dlcjsKdmVjdG9yPExMPiB0cmFjazsKCmludCBtYWluKCkKewoJTEwgbixBLEIseDsKCQoJY2luPj5uPj5BPj5COwoJCglpZihBID4gQikKCXsKCQljb3V0PDwiMCI8PGVuZGw7CgkJcmV0dXJuIDA7Cgl9CgkKCUZPUihpLDEsbikKCXsKCQljaW4+Png7CgkJYS5wdXNoX2JhY2sobWFrZV9wYWlyKHgsaSkpOwoJfQoJCglzb3J0KGEuYmVnaW4oKSxhLmVuZCgpKTsKCQovLwlmb3IoYXV0byB4IDogYSkKLy8JCWNvdXQ8PHguU2l6ZTw8IiAtICI8PHguU3R0PDxlbmRsOwovLwljb3V0PDxlbmRsOwoJCglmb3IoaW50IGk9MDsgaTxhLnNpemUoKSAmJiBhW2ldLlNpemUgPCBBOyBpKyspCgkJc21hbGxlci5wdXNoX2JhY2soYVtpXSk7CgkKCWZvcihpbnQgaT1hLnNpemUoKS0xOyBpPj0wICYmYVtpXS5TaXplID49IEE7IGktLSkKCQliaWdnZXIucHVzaF9iYWNrKGFbaV0pOwoJCgl3aGlsZSghc21hbGxlci5lbXB0eSgpKQoJewoJCS8vTGF5IHBoYW4gdHUgbG9uIG5oYXQgdHJvbmcgZGF5IGJlIHJhCgkJaWYoc21hbGxlci5iYWNrKCkuU2l6ZSA+PSBBKQoJCXsKCQkJLy9raG9uZyBjb24gcGhhbiB0dSBuYW8gY28gdGhlIGFuIGR1b2MKCQkJYnJlYWs7CgkJfWVsc2V7CgkJCUEgKz0gc21hbGxlci5iYWNrKCkuU2l6ZTsKCQkJdHJhY2sucHVzaF9iYWNrKHNtYWxsZXIuYmFjaygpLlN0dCk7CgkJCXNtYWxsZXIucG9wX2JhY2soKTsKCQkJCgkJCS8vVXBkYXRlIGxhIDIgZGF5CgkJCXdoaWxlKGJpZ2dlci5lbXB0eSgpID09IGZhbHNlICYmIGJpZ2dlci5iYWNrKCkuU2l6ZSA8IEEpCgkJCXsKCQkJCXNtYWxsZXIucHVzaF9iYWNrKGJpZ2dlci5iYWNrKCkpOwoJCQkJYmlnZ2VyLnBvcF9iYWNrKCk7CgkJCX0KCgkJfQoJCQoJCWlmKEEgPiBCKXsKCQkJY291dDw8dHJhY2suc2l6ZSgpPDxlbmRsOwoJCQlmb3IoYXV0byB4IDogdHJhY2spCgkJCQljb3V0PDx4PDwiICI7CgkJCXJldHVybiAwOwoJCX0KCQkKCX0KCWNvdXQ8PCItMSI8PGVuZGw7CglyZXR1cm4gMDsKfQ==
compilation info
prog.cpp: In function 'int main()':
prog.cpp:84:13: error: 'x' does not name a type
for(auto x : track)
^
prog.cpp:86:4: error: expected ';' before 'return'
return 0;
^
prog.cpp:86:4: error: expected primary-expression before 'return'
prog.cpp:86:4: error: expected ';' before 'return'
prog.cpp:86:4: error: expected primary-expression before 'return'
prog.cpp:86:4: error: expected ')' before 'return'
stdout