Rezultati

Up. imeNalogaJezikRezultatČas oddaje
FRISPI-2017 Pakiranje piva C 0/100Napaka med izvajanjem / ob izhodu (RTE) 20. apr '17 @ 18:38

Test Točke Porabljen spomin Porabljen čas Status
#1 3/3 1,520 MiB 0,005 s OK
#2 0/3 1,484 MiB 0,005 s Napačen odgovor
Tvoj izhod:
​3<<<EOF>>>
Pravilen izhod:
​4
<<<EOF>>>
#3 3/3 1,480 MiB 0,005 s OK
#4 3/3 1,520 MiB 0,005 s OK
#5 0/3 1,289 MiB 0,000 s Napaka med izvajanjem / ob izhodu
#6 3/3 1,480 MiB 0,005 s OK
#7 3/3 1,480 MiB 0,005 s OK
#8 0/3 1,285 MiB 0,005 s Napaka med izvajanjem / ob izhodu
#9 0/3 1,480 MiB 0,005 s Napačen odgovor
Tvoj izhod:
​2<<<EOF>>>
Pravilen izhod:
​4
<<<EOF>>>
#10 3/3 1,516 MiB 0,005 s OK
#11 3/3 1,477 MiB 0,000 s OK
#12 3/3 1,520 MiB 0,005 s OK
#13 3/3 1,480 MiB 0,005 s OK
#14 0/3 1,289 MiB 0,005 s Napaka med izvajanjem / ob izhodu
#15 3/3 1,523 MiB 0,005 s OK
#16 3/3 1,523 MiB 0,005 s OK
#17 0/3 1,289 MiB 0,005 s Napaka med izvajanjem / ob izhodu
#18 3/3 1,484 MiB 0,005 s OK
#19 0/3 1,273 MiB 0,005 s Napaka med izvajanjem / ob izhodu
#20 0/3 4,934 MiB 4,567 s Prekoračen čas
#21 0/3 1,270 MiB 0,005 s Napaka med izvajanjem / ob izhodu
#22 0/3 1,289 MiB 0,005 s Napaka med izvajanjem / ob izhodu
#23 0/3 1,289 MiB 0,005 s Napaka med izvajanjem / ob izhodu
#24 0/3 1,289 MiB 0,005 s Napaka med izvajanjem / ob izhodu
#25 0/4 1,285 MiB 0,005 s Napaka med izvajanjem / ob izhodu
#26 4/4 1,484 MiB 0,005 s OK
#27 0/4 3,570 MiB 4,560 s Prekoračen čas
#28 4/4 1,500 MiB 0,011 s OK
#29 0/4 2,199 MiB 1,643 s Napačen odgovor
Tvoj izhod:
​185364<<<EOF>>>
Pravilen izhod:
​1649
<<<EOF>>>
#30 0/4 4,176 MiB 4,567 s Prekoračen čas
#31 0/4 3,434 MiB 4,554 s Prekoračen čas

Ocenjevani program (pivo.c):
#include <stdio.h>

int najmanjsi(int *tab, int N)  {   //Vren najmanjso vrednost
    int mini = *tab;
    int *torta = tab;
    for(int i=0; i<N ; i++) {
        if(*tab<mini) mini = *tab;
        tab++;
    }
    tab = torta;
    return mini;
}

int main()  {
    int N;
    scanf("%d", &N);
    int a[N];
    for(int i=0; i<N; i++) {
        scanf("%d", &a[i]);
    }
    int mini = najmanjsi(&a[0], N);
    int st[mini+1];
    for(int k = 1; k <= mini+1; k++)    {
        for(int i = 0; i<N; i++)    {
            if(a[i]<((k)*(k-1)))    {
                if(((a[i]/k) + a[i]%k) >= (k-1))   {
                    if(a[i]%k == 0) st[k-1] += a[i]/k;
                    else st[k-1] += a[i]/k + 1;
                }
                else    {
                    st[k-1] = -1;
                    break;
                }
            }
            else    {
                if(a[i]%k == 0) st[k-1] += a[i]/k;
                else st[k-1] += a[i]/k + 1;
            }
        }
    }
    int maxi = 0;
    for(int i=0; i<=mini ; i++) {
        if(st[i] != -1) maxi = i;
    }
    printf("%d", maxi+1);
}