## 10131 - Is Bigger Smarter?

All about problems in Volume 101. If there is a thread about your problem, please use it. If not, create one with its number in the subject.

Moderator: Board moderators

brianfry713
Guru
Posts: 5947
Joined: Thu Sep 01, 2011 9:09 am
Location: San Jose, CA, USA

### Re: 10131 - Is Bigger Smarter?

You are right, your code is correct on the sample input.

Sort by increasing weight.
A O(n * n) LDS by IQ is fast enough for this problem.
Initialize each element of count to 1, and each element of previous to -1.

Code: Select all

``````  int mx = 1, best_index;
for(int j = 1; j < n; j++)
for(int i = 0; i < j; i++)
if(e[i].weight < e[j].weight && e[i].iq > e[j].iq)
if(1 + count[i] > count[j]) {
count[j] = 1 + count[i];
previous[j] = i;
if ( count[j] > mx ) {
mx = count[j];
best_index = j;
}
}
``````
Then print mx. Then print the path in reverse using the previous array starting at best_index, using the original id's that you kept track of during the sort.
Check input and AC output for thousands of problems on uDebug!

richatibrewal
New poster
Posts: 49
Joined: Mon Jun 16, 2014 7:40 pm

### Re: 10131 - Is Bigger Smarter?

Thanx ... got accepted

But will u plz explain what was the probelm with my logic?

krecik1334
New poster
Posts: 1
Joined: Thu Sep 17, 2015 6:40 pm

### Re: 10131 - Is Bigger Smarter?

What's wrong with my code? The first output (lenght) is good but I don't know if the following elements are correct.

http://pastebin.com/hSykeDYE

lnr
Experienced poster
Posts: 142
Joined: Sat Jun 30, 2007 2:52 pm
Location: Dhaka,Bangladesh

### Re: 10131 - Is Bigger Smarter?

Code: Select all

``deleted, Got AC``