9 / 13
Dec 2021

http://pl.spoj.com/problems/latwe/unsolved/30

Dostaję WA. Nie mogę znaleźć błędu w moim rozwiązaniu. Czy ktoś może potwierdzić moje testy?

TESTY:

IN:
8 5
1 1 2 10
2 1 4 20
3 1 6 30
4 1 8 40
5 1 7 50
6 1 9 60
7 1 11 70
8 2 1 80

OUT:
1 47
2 47
3 47
4 47
7 54
6 63
5 75
8 91

IN:
8 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 2
1 1 1 1

OUT:
1 8
1 8
1 8
1 8
1 8
1 8
1 8
1 9

IN:
17 25
1 1 5000 50
2 1 5000 100
3 1 5000 150
4 1 5000 200
5 1 5000 250
6 1 5000 300
7 1 5000 350
8 1 5000 400
9 1 5000 450
10 2 10000 500
11 2 10000 550
12 2 10000 600
13 2 10000 650
14 2 10000 700
15 2 10000 750
16 2 10000 800
17 2 10000 850

OUT:
1 18
2 34
4 46
7 53
8 72
5 98
9 129
3 161
6 201
10 361
11 375
12 403
13 445
14 501
15 571
16 655
17 753

IN:
9 1
1 1 1 1
2 2 2 2
3 3 3 3
4 4 4 4
5 5 5 5
6 6 6 6
7 7 888888 8
9 9 9 9
7 7 7 7

OUT:
1 1
2 3
3 6
4 10
5 15
6 21
7 29
7 36
9 45

IN:
3 1
7 7 7 7
9 9 9 9
10 7 10 10

OUT:
7 17
10 17
9 26

  • created

    May '16
  • last reply

    Dec '21
  • 12

    replies

  • 1.6k

    views

  • 5

    users

  • 4

    likes

  • 6

    links

poprawny link do zadania to Pobieranie21

nie potwierdzam, po pierwsze niektóre testy źle dobrane - nie będzie spełniony warunek, że wyniki będą całkowite

dla pierwszego testu łączna wielkość plików to 360 a więc wszystkie pliki potrzebują 360/5 = 72 sekundy

dla trzeciego testu łączna wielkość plików to 7650, potrzebny czas 7650/25 = 306 sekund

poprawny wynik to:
1 18
2 34
3 48
4 60
5 70
6 78
7 84
8 88
9 90
10 250
11 264
12 276
13 286
14 294
15 300
16 304
17 306

a dalej już mi się nie chce sprawdzać

Przepraszam za link. Po prostu długo męczyłem się z wysłaniem tego posta i kilka razy pisałem go od nowa przez co za którymś razem wstawiłem go w sposób nieprawidłowy.

Testy są źle dobrane, ale uznałem, że jeżeli dla tych danych będę miał dobre wyniki to potem też wszystko będzie ok.

Przyglądam się poprawnemu outowi i jeszcze nie do końca rozumiem skąd on się wziął. Podejrzewam, że zupełnie źle zrozumiałem sens tego zadania. Wyśpię się i w wolnej chwili przeanalizuję dokładnie Twoją odpowiedź a następnie spróbuję przełożyć to na działający kod.

Dziękuję za pomoc.

Wprowadziłem kilka poprawek. Otrzymuję (jak mniemam) prawidłowe outy dla powyższych testów. Błędy wynikały ze złej inicjalizacji jednej ze zmiennych. Mimo to wciąż WA co sugeruje istnienie jeszcze jakiegoś błędu, którego nie mogę znaleźć.

AC

Odnoszę wrażenie, że kod jest "przekombinowany". Zadanie jest w łatwych, a ja to sortuję, to robię jakieś epsilony, to jakąś klasę...

Jeżeli ktoś pomoże mi znaleźć błąd albo potwierdzi "przekombinowanie" będę wdzięczny za pomoc.

rozwiązanie stanowczo zbyt skomplikowane - wszystkie double niepotrzebne - w treści zadania jest wyraźnie podane, że wszystkie rozwiązania będą całkowite, dane pośrednie też są całkowite

sortowanie jest najprostszą metodą rozwiązania, ale powinno być bardziej inteligentne - takie, że to jedno sortowanie daje poprawną kolejność numerów plików na wyjściu - wtedy cała reszta liczenia jest banalna

Przeniesione komentarze:

2012-03-06 16:30:08 Witold D³ugosz

Ale chyba nie tak są rozdzielane?!

Najpierw udziały wynosiły 1/6, 2/6 i 3/6.

Po ściągnięciu 1. pliku pozostałe będą miały 2/5 i 3/5 a nie (2,5)/6 i (3,5)/6

	Ostatnio edytowany: 2012-03-06 16:30:57
					> 		

	2012-03-04 01:04:00 Piotr Bia³ecki

Co to znaczy, że gdy któryś plik pobierze się wcześniej, wtedy
udział w pobieraniu jest rozdzielany na pozostałe pliki? Załóżmy, że
mamy 3 pliki o tym samym priorytecie i o udziałach q = 1, 2, 3. Plik z
udziałem q = 1 pobrał się jako pierwszy. Jakie są wówczas udziały dwóch
pozostałych plików? 2,5 i 3,5 czy pozostają bez zmian i wynoszą 2 i 3?

Nie jest doprecyzowane, jak powinno być posortowane wyjście, tj. co z
plikami, których czas pobierania jest taki sam. Czy takie pliki powinny
być sortowane rosnąco po ich numerze?

	Ostatnio edytowany: 2012-03-04 11:30:27


	2012-02-23 14:31:38 Marek Mystkowski 


			nie są poklei są poprzestawiane 


	2012-02-22 21:54:26 Marcin Pietrzak

Czy numery porządkowe plików również są potasowane, czy jednak jak sugeruje ich nazwa są kolejnymi liczbami naturalnymi?

	2012-02-16 15:40:24 Marek Mystkowski 


			nie są posortowane bywają potasowane 		


	Ostatnio edytowany: 2012-02-16 15:42:22


	2012-02-14 14:57:04 Marcin Charmu³owicz

Czy można założyć, że dane wejściowe są posortowane wg priorytetów?

AC

Skupiłem się na poradach z wcześniejszego forum i stworzyłem potworne rozwiązanie pełne cudów. Rzeczywiście, zadanie można rozwiązać bez double. Powiem więcej - według mnie trzeba je tak rozwiązać. W ostatecznej wersji kodu zmiana double i round na long long int dała AC. I słusznie zauważyłeś, że zadanie to wymaga jednak więcej pomyślunku niż klepania kodu. A przynajmniej więcej aniżeli ja sądziłem tworząc swoje rozwiązanie :slight_smile: Wielkie dzięki. Samemu dalej szukałbym dziury w całym mając dobrą metodę tuż pod ręką.

5 years later

Dobry wieczór.
Ma ktoś może jakieś testy do tego zadania?
Jakby się komuś chciało…
Najnowsza wersja niżej

Z góry dziękuję.

W tej chwili “wszyscy” przygotowywują się i koncentrują do ostatniej w tym roku edycji FRAKTALA. Jednym słowem żyją tylko tym i nie mają czasu na pomaganie.
Zapraszam Ciebie i wszystkich na stronę FRAKTALA:


Zadania będą dostępne i widoczne dzisiaj od godziny 12:10:
Jeżeli masz wątpliwości, czy to dla Ciebie, to tak to jest napewno właśnie też dla Ciebie, bo te zadania po zakończeniu wydarzenia, zostaną umieszczone jako normalne zadania na SPOJU. Dlatego więc zamiast czekać możesz spróbować rozwiązać te zadani już dzisiaj i jutro, bo będą zadania i bardzo łatwe i trudniejsze.

MAŁY SZANTAŻ.
Dotyczy wszystkich czytających ten tekst. Jezeli później będziesz prosił/prosiła o pomoc w jakimkolwiek problemie na SPOJU, ja będę sprawdzał i uzależniał pomoc od tego, czy wziąłeś/wzięłaś udział w dzisiejszym wydarzeniu. Nie musisz nawet rozwiązać i zaliczyć jakiegokolwiek zadania - liczy się obecność i podjęcie próby. Więc nie wachaj się i nie zastanawiaj dłużej - nie masz wyjścia! :wink:

Przeczytaj ostatnie zdanie w treści zadania.
Wystarczy typ int.
Sortowanie… {
Numer pliku jest w sortowaniu bez znaczenia.
Ważny priorytet, wielkość pliku i udział.
Jedna wartość jest brana wprost, inna wprost proporcjonalnie do innej odwrotnie - przynajmniej ja tak mam…
}
Przy dzieleniu całkowitoliczbowym funkcja round nic nie robi, a takie jest u Ciebie, czyż nie?

Wystarczy na razie?

Dzięki za odpowiedź.
No chyba mi nie wystarczy. Przerobiłem wszystko na typy całkowite, do wszystkich testów, jakie znalazłem, kod zwraca prawidłowe odpowiedzi. Już nie wiem gdzie szukać błędu.
Najnowsza wersja v.43.821
tu była.
Potrzebny mi jakiś test dla którego wyjdzie błąd (jak zawsze). Bez tego dalej nie ruszę.

w tym teście co podałeś w linku już jest błąd… Pliki mają być podawane w kolejności pobierania więc 58 sek nie może być przed 56 sek. Mój program AC daje taki wynik
1 47
2 47
3 47
4 47
7 54
6 55
5 56
8 72

Jeszcze jeden test:
7 10
1 1 2 10
2 1 4 20
3 1 6 30
4 1 8 40
5 1 6 60
6 1 14 70
7 2 1 80
310 mb, mają być pobrane w 31 sek, u ciebie wynik - 38… mam wrażenie że z przeniesieniem udziału plików które już skończyły sie pobierać może być coś nie tak.

Dziękuję bardzo. Świetny prezent pod choinkę.
Problem był z sortowaniem.
Wesołych Świąt!!!