• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

GLUTTON - Obżartuchy

Cloud VPS
+1 głos
488 wizyt
pytanie zadane 17 marca 2020 w SPOJ przez Sashimo Użytkownik (740 p.)

Jak zwykle problem z zadaniem : https://pl.spoj.com/problems/GLUTTON/

 

Mój kod :

#include <iostream>
#include <math.h>
using namespace std;

int main()
{
    int doba = 86400; //sek w dobie
    int t; // testy

    cin >> t;
    for (int i=0; i<t; i++)
    {
        int  N; //liczba uczestnikow
        float  M; // liczba ciastek w pudelku
        int  suma = 0;

        cin >> N >> M;

        for (int j=0; j<N; j++)
        {
            int S; //czas w jakim zjedzono ciastko
            cin >> S;
            suma+= floor(doba/S);

        }
        if (suma != 0)
        {
            cout << ceil(suma / M) << endl;
        }


    }



    return 0;
}

 

1 odpowiedź

+1 głos
odpowiedź 18 marca 2020 przez Whistleroosh Maniak (57,400 p.)
wybrane 18 marca 2020 przez Sashimo
 
Najlepsza

W linii 28. dzielisz int przez float, co powoduje, że tracisz informacje o części ułamkowej liczby. Popraw to na to:

cout << ceil((float)suma / M) << endl;

Usuń też if z linii 26, bo przecież wynik może wyjść zero.

Tak samo w linii 23 możesz pozbyć się floor i zostawić:

suma+= doba/S;

bo przy dzieleniu int przez int i tak tracimy informacje o części ułamkowej

komentarz 18 marca 2020 przez Sashimo Użytkownik (740 p.)
co do lini 28 nic nie zmieniłem i zaliczyło

co do lini 23 dziwne wczoraj jak testowałem to pokazywało inny wynik jak nie było floor i to mnie dziwiło czemu dzieląc int/float jest inna odp jak przy int/int :P

zaliczyło zadanie tak że dziękuję :)

Podobne pytania

0 głosów
0 odpowiedzi 1,031 wizyt
0 głosów
1 odpowiedź 900 wizyt
pytanie zadane 30 listopada 2017 w SPOJ przez xveenx Nowicjusz (150 p.)
–1 głos
1 odpowiedź 463 wizyt
pytanie zadane 16 lutego 2019 w SPOJ przez matzar24 Początkujący (250 p.)

93,453 zapytań

142,448 odpowiedzi

322,718 komentarzy

62,831 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...