Polish version    English version  
  Historia OI -> III OI 1995/1996 -> Zadania


 Aktualności
 O olimpiadzie
 Komitety
 XVIII OI 2010/2011
 Historia OI
XVII OI 2009/2010
XVI OI 2008/2009
XV OI 2007/2008
XIV OI 2006/2007
XIII OI 2005/2006
XII OI 2004/2005
XI OI 2003/2004
X OI 2002/2003
IX OI 2001/2002
VIII OI 2000/2001
VII OI 1999/2000
VI OI 1998/1999
V OI 1997/1998
IV OI 1996/1997
III OI 1995/1996
Wyniki III etapu
Wyniki II etapu
Wyniki I etapu
Zadania
II OI 1994/1995
I OI 1993/1994
 Książeczki OI
 Reprezentacja
 Obozy Olimpiady
 Galeria zdjęć
 Ciekawe odsyłacze
 OIG LiveCD
 IV OIG 2009/2010
 Historia OIG
 SIO
 MAIN
III Olimpiada Informatyczna 1995/96

Zadanie: PRE
Autor: Piotr Chrząstowski-Wachtel
Pręty

Zawody I stopnia  
Plik źródłowy: PRE.??? (np. pas, c, cpp)
Plik wykonywalny: PRE.exe
Plik wejściowy: PRE.in
Plik wyjściowy: PRE.out

 

W laboratoriach pewnej firmy w czasie prac doświadczalnych nad nowym materiałem nazwanym politoksyparenem odkryto jego ciekawą właściwość. Otóż wykonany z tego materiału prosty pręt o małym przekroju, przy odpowiednim unieruchomieniu końców, po podgrzaniu wydłuża się i wygina dokładnie w łuk okręgu oparty na cięciwie, pokrywającej się z początkowym położeniem pręta. Załóżmy, że do doświadczeń potwierdzających tę właściwość użyto n prętów o zaniedbywalnie małym przekroju i początkowych długościach li (1 <= li <= 100000), oraz że w wyniku podgrzania wydłużyły się one odpowiednio o di (1 <= di <= 100), przy czym di <= li / 2. Wszystkie wielkości są wyrażone w milimetrach.

Zadanie

Napisz program, który:
  • wczytuje z pliku tekstowego PRE.IN liczbę prętów n, a następnie ich długości li oraz wydłużenia di,
  • dla każdego pręta oblicza odległość w mm, na jaką odchylił się po podgrzaniu środek pręta od swojego pierwotnego położenia (zakładamy, że pręt ma pomijalnie mały przekrój oraz że w końcowym położeniu przyjął kształt łuku opartego na cięciwie odpowiadającej początkowemu położeniu); wynik obliczenia ma być liczbą całkowitą różniącą się nie o więcej niż o 0,5 od dokładnej wartości odchylenia,
  • zapisuje wynik do pliku tekstowego PRE.OUT.

Wejście

W pierwszym wierszu pliku tekstowego PRE.IN jest zapisana jedna liczba całkowita dodatnia n <= 50000.
W każdym z kolejnych n wierszy są zapisane dwie liczby całkowite oddzielone pojedynczym odstępem - pierwotna długość kolejnego pręta li oraz jego wydłużenie di.

Wyjście

W każdym z n kolejnych wierszy pliku tekstowego PRE.OUT należy zapisać jedną liczbę całkowitą nieujemną - odchylenie odpowiedniego pręta obliczone z żądaną dokładnością.

Przykład

Dla pliku PRE.IN:
2
1000 20
15000 10

poprawnym rozwiązaniem jest plik PRE.OUT:
87
237

Twój program powinien szukać pliku PRE.IN w katalogu bieżącym i tworzyć plik PRE.OUT również w bieżącym katalogu. Plik zawierający napisany przez Ciebie program w postaci źródłowej powinien mieć nazwę PRE.???, gdzie zamiast ??? należy wpisać co najwyżej trzyliterowy skrót nazwy użytego języka programowania. Ten sam program w postaci wykonalnej powinien być zapisany w pliku PRE.EXE.




Wersja do druku