#include <stdlib.h>
#include <stdbool.h>
#include <stdio.h>
typedef struct queueNode_t {
int data;
struct queueNode_t *next;
} QueueNode;
typedef struct queue_t {
QueueNode *_front,
*_rear;
unsigned _size;
} Queue;
void queue_init(Queue *queue);
bool queue_isEmpty(Queue *queue);
void queue_push(Queue *queue, int value);
void queue_pop(Queue *queue);
int queue_front(Queue *queue);
int queue_size(Queue *queue);
void queue_init(Queue *queue)
{
queue->_size = 0;
queue->_front = NULL;
queue->_rear = NULL;
}
bool queue_isEmpty(Queue *queue) {
return (queue->_front == NULL && queue->_rear == NULL);
}
void queue_push(Queue *queue, int value)
{
QueueNode *newNode = (QueueNode*) malloc(sizeof(QueueNode));
if (newNode) {
queue->_size++;
newNode->data = value;
newNode->next = NULL;
if (queue_isEmpty(queue))
queue->_front = queue->_rear = newNode;
else {
queue->_rear->next = newNode;
queue->_rear = newNode;
}
}
}
void queue_pop(Queue *queue)
{
if (!queue_isEmpty(queue)) {
QueueNode *temp = queue->_front;
queue->_front = queue->_front->next;
free(temp);
if (queue->_front == NULL)
queue->_rear = NULL;
queue->_size--;
}
}
int queue_front(Queue *queue)
{
if (!queue_isEmpty(queue)) {
return (queue->_front->data);
}
return (int)0;
}
int queue_size(Queue *queue) {
return queue->_size;
}
int main(int argc, char const *argv[])
{
int x, y, z; scanf("%d %d %d", &x, &y, &z);
Queue q;
queue_init(&q);
for (int i = 0; i < x; i++) {
int t; scanf("%d", &t);
queue_push(&q, t);
}
int cnt = 0, ans = 0;
while (!queue_isEmpty(&q)) {
cnt++;
int cur = queue_front(&q);
queue_pop(&q);
if (cnt % z == 0) {
queue_push(&q, cur);
ans++;
} else {
y -= cur;
}
if (y <= 0) break;
}
printf("%d ", ans);
if (queue_isEmpty(&q)) {
puts("Yes Dapat burger gratis!!!");
} else {
puts("NOO tidak Dapat :(");
}
return 0;
}
I2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8c3RkYm9vbC5oPgojaW5jbHVkZSA8c3RkaW8uaD4KCnR5cGVkZWYgc3RydWN0IHF1ZXVlTm9kZV90IHsKICAgIGludCBkYXRhOwogICAgc3RydWN0IHF1ZXVlTm9kZV90ICpuZXh0Owp9IFF1ZXVlTm9kZTsKCnR5cGVkZWYgc3RydWN0IHF1ZXVlX3QgewogICAgUXVldWVOb2RlICAgKl9mcm9udCwgCiAgICAgICAgICAgICAgICAqX3JlYXI7CiAgICB1bnNpZ25lZCBfc2l6ZTsKfSBRdWV1ZTsKCnZvaWQgcXVldWVfaW5pdChRdWV1ZSAqcXVldWUpOwpib29sIHF1ZXVlX2lzRW1wdHkoUXVldWUgKnF1ZXVlKTsKdm9pZCBxdWV1ZV9wdXNoKFF1ZXVlICpxdWV1ZSwgaW50IHZhbHVlKTsKdm9pZCBxdWV1ZV9wb3AoUXVldWUgKnF1ZXVlKTsKaW50ICBxdWV1ZV9mcm9udChRdWV1ZSAqcXVldWUpOwppbnQgIHF1ZXVlX3NpemUoUXVldWUgKnF1ZXVlKTsKCnZvaWQgcXVldWVfaW5pdChRdWV1ZSAqcXVldWUpCnsKICAgIHF1ZXVlLT5fc2l6ZSA9IDA7CiAgICBxdWV1ZS0+X2Zyb250ID0gTlVMTDsKICAgIHF1ZXVlLT5fcmVhciA9IE5VTEw7Cn0KCmJvb2wgcXVldWVfaXNFbXB0eShRdWV1ZSAqcXVldWUpIHsKICAgIHJldHVybiAocXVldWUtPl9mcm9udCA9PSBOVUxMICYmIHF1ZXVlLT5fcmVhciA9PSBOVUxMKTsKfQoKdm9pZCBxdWV1ZV9wdXNoKFF1ZXVlICpxdWV1ZSwgaW50IHZhbHVlKQp7CiAgICBRdWV1ZU5vZGUgKm5ld05vZGUgPSAoUXVldWVOb2RlKikgbWFsbG9jKHNpemVvZihRdWV1ZU5vZGUpKTsKICAgIGlmIChuZXdOb2RlKSB7CiAgICAgICAgcXVldWUtPl9zaXplKys7CiAgICAgICAgbmV3Tm9kZS0+ZGF0YSA9IHZhbHVlOwogICAgICAgIG5ld05vZGUtPm5leHQgPSBOVUxMOwogICAgICAgIAogICAgICAgIGlmIChxdWV1ZV9pc0VtcHR5KHF1ZXVlKSkgICAgICAgICAgICAgICAgIAogICAgICAgICAgICBxdWV1ZS0+X2Zyb250ID0gcXVldWUtPl9yZWFyID0gbmV3Tm9kZTsKICAgICAgICBlbHNlIHsKICAgICAgICAgICAgcXVldWUtPl9yZWFyLT5uZXh0ID0gbmV3Tm9kZTsKICAgICAgICAgICAgcXVldWUtPl9yZWFyID0gbmV3Tm9kZTsKICAgICAgICB9CiAgICB9Cn0KCnZvaWQgcXVldWVfcG9wKFF1ZXVlICpxdWV1ZSkKewogICAgaWYgKCFxdWV1ZV9pc0VtcHR5KHF1ZXVlKSkgewogICAgICAgIFF1ZXVlTm9kZSAqdGVtcCA9IHF1ZXVlLT5fZnJvbnQ7CiAgICAgICAgcXVldWUtPl9mcm9udCA9IHF1ZXVlLT5fZnJvbnQtPm5leHQ7CiAgICAgICAgZnJlZSh0ZW1wKTsKICAgICAgICAKICAgICAgICBpZiAocXVldWUtPl9mcm9udCA9PSBOVUxMKQogICAgICAgICAgICBxdWV1ZS0+X3JlYXIgPSBOVUxMOwogICAgICAgIHF1ZXVlLT5fc2l6ZS0tOwogICAgfQp9CgppbnQgcXVldWVfZnJvbnQoUXVldWUgKnF1ZXVlKQp7CiAgICBpZiAoIXF1ZXVlX2lzRW1wdHkocXVldWUpKSB7CiAgICAgICAgcmV0dXJuIChxdWV1ZS0+X2Zyb250LT5kYXRhKTsKICAgIH0KICAgIHJldHVybiAoaW50KTA7Cn0KCmludCBxdWV1ZV9zaXplKFF1ZXVlICpxdWV1ZSkgewogICAgcmV0dXJuIHF1ZXVlLT5fc2l6ZTsKfQoKaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgY29uc3QgKmFyZ3ZbXSkKewogICAgaW50IHgsIHksIHo7IHNjYW5mKCIlZCAlZCAlZCIsICZ4LCAmeSwgJnopOwogICAgUXVldWUgcTsgCiAgICBxdWV1ZV9pbml0KCZxKTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgeDsgaSsrKSB7CiAgICAgICAgaW50IHQ7IHNjYW5mKCIlZCIsICZ0KTsKICAgICAgICBxdWV1ZV9wdXNoKCZxLCB0KTsKICAgIH0KICAgIGludCBjbnQgPSAwLCBhbnMgPSAwOwogICAgd2hpbGUgKCFxdWV1ZV9pc0VtcHR5KCZxKSkgewogICAgICAgIGNudCsrOwogICAgICAgIGludCBjdXIgPSBxdWV1ZV9mcm9udCgmcSk7CiAgICAgICAgcXVldWVfcG9wKCZxKTsKICAgICAgICBpZiAoY250ICUgeiA9PSAwKSB7CiAgICAgICAgICAgIHF1ZXVlX3B1c2goJnEsIGN1cik7CiAgICAgICAgICAgIGFucysrOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHkgLT0gY3VyOwogICAgICAgIH0KICAgICAgICBpZiAoeSA8PSAwKSBicmVhazsKICAgIH0KICAgIHByaW50ZigiJWQgIiwgYW5zKTsKICAgIGlmIChxdWV1ZV9pc0VtcHR5KCZxKSkgewogICAgICAgIHB1dHMoIlllcyBEYXBhdCBidXJnZXIgZ3JhdGlzISEhIik7CiAgICB9IGVsc2UgewogICAgICAgIHB1dHMoIk5PTyB0aWRhayBEYXBhdCA6KCIpOwogICAgfQogICAgcmV0dXJuIDA7Cn0K