Fişierul intrare/ieşire: | turneu.in, turneu.out | Sursă | Stelele Informaticii 2005, clasele 11-12 |
Autor | Florin Manea | Adăugată de | |
Timp execuţie pe test | 0.3 sec | Limită de memorie | 65536 kbytes |
Scorul tău | N/A | Dificultate |
Vezi solutiile trimise | Statistici
Turneu
La un turneu de fotbal participa N echipe, intre fiecare doua dintre acestea avand loc un singur meci. Echipa castigatoare a unui meci acumuleaza un punct, iar in cazul in care un meci se incheie la egalitate fiecare echipa acumuleaza jumatate de punct. La sfarsitul turneului se contabilizeaza numarul de puncte acumulat de fiecare echipa, si se formeaza un clasament. Datorita numarului mare de echipe exista insa posibilitatea ca nu intotdeauna punctele sa fie contabilizate corect.
Cerinta
Scrieti un program care, primind ca intrare un sir de N numere rationale, sa decida daca acestea pot fi sau nu punctajele obtinute in urma unui turneu de fotbal.
Date de intrare
Prima linie a fisierului turneu.in contine un numar intreg T reprezentand numarul de siruri de punctaje care trebuie analizate. Urmatoarele T linii contin fiecare cate un numar natural N reprezentand numarul de echipe aflate in turneu si apoi N numere rationale cu cel mult o zecimala, in ordine crescatoare, reprezentand punctajele fiecarei echipe.
Date de iesire
Pentru fiecare din cele T teste afisati in fisierul de iesire turneu.out o linie continand YES daca sirul poate fi rezultatul unui turneu sau NO altfel.
Restrictii si precizari
- 1 ≤ N ≤ 100 000
- 1 ≤ T ≤ 10
- Pentru 50% din teste N ≤ 1500
Exemplu
turneu.in | turneu.out |
---|---|
7 4 0 1 2 3 4 0 1 2.5 2.5 4 1.5 1.5 2 2 4 0 2 2 2 4 0 1 1 4 5 0 1 2 3 3 10 1 1 1 1 5 5 7 7 8 9 | YES YES NO YES NO NO NO |