After getting her PhD, Christie has become a celebrity at her university, and her facebook profile is full of friend requests. Being the nice girl she is, Christie has accepted all the requests.
Now Kuldeep is jealous of all the attention she is getting from other guys, so he asks her to delete some of the guys from her friend list.
To avoid a ‘scene’, Christie decides to remove some friends from her friend list, since she knows the popularity of each of the friend she has, she uses the following algorithm to delete a friend.
for i = 1 to Friend.length-1
if (Friend[i].popularity < Friend[i+1].popularity)
delete i th friend
if(DeleteFriend == false)
delete the last friend
First line contains T number of test cases. First line of each test case contains N , the number of friends Christie currently has and K ,the number of friends Christie decides to delete. Next lines contains popularity of her friends separated by space.
For each test case print N-K numbers which represent popularity of Christie friend’s after deleting K friends.
Order of friends after deleting exactly K friends should be maintained as given in input.
3 3 1 3 100 1 5 2 19 12 3 4 17 5 3 23 45 11 77 18
100 1 19 12 17 77 18
MY ATTEMPT:( (I get Segmentation fault)
using namespace std;
struct node *next;
struct node *Delete_func(struct node *head)
struct node *first=head,*last=head;
if(head->popularity < head->next->popularity)
struct node *temp=head->next;
deleted = true;
if(last->next!=NULL && last->next->next!=NULL)
struct node *temp=last->next;
struct node *deleteFriend(struct node *head,int k)
void printnode(struct node *start)
struct node temp=start;
struct node make_n_nodes(int n,struct node* start)
struct node * head,temp=start;
head=(struct node)malloc(sizeof(struct node));
struct node *start=NULL;